xml文件,存放路径为“\mnt\sdcard\item.xml”
<?xml version="1.0" encoding="UTF-8"?>
<paper>
<question1>
<name>文字填空</name>
<type>1</type>
<option>
<count>3</count>
<option1>测试1</option1>
<option2>测试2</option2>
</option>
</question1>
</paper>
该如何使用SAX解析它,并且中文可以正常显示。谢谢!我解析完,中文都是乱码
<?xml version="1.0" encoding="UTF-8"?>
<paper>
<question1>
<name>文字填空</name>
<type>1</type>
<option>
<count>3</count>
<option1>测试1</option1>
<option2>测试2</option2>
</option>
</question1>
</paper>
该如何使用SAX解析它,并且中文可以正常显示。谢谢!我解析完,中文都是乱码
解决方案 »
- 安装APIDEMO时出现Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
- ffmpeg播放问题
- 一个关于SimpleCursorAdapte的问题
- scrollview内使用HorizontalScrollView的问题
- NexusOne这种触摸按键的在黑屏状态下能有相应吗?
- 编译android源码问题
- 新人求助,用ant自动打包,报错
- android存储卡路径的问题
- 怎么获取音乐的bpm值(音乐节拍)
- message.what 为什么自己变值了啊……
- SAX联网解析xml的问题
- android matrix 前乘和后乘对图片的影响,欢迎讨论
String strXMLUtf=new String(datas,"utf-8");再解析strXMLUtf试试吧!
再调用这个方法获得输入流is,传给sax解析器解析
private InputStream encode(InputStream fis)
{
InputStream is;
byte[] b = new byte[1024];
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try
{
while((len = fis.read(b)) != -1)
{
bos.write(b , 0 , len);
}
byte[] data = bos.toByteArray();
if(bos != null)
{
bos.close();
}
if(fis!= null)
{
fis.close();
}
try
{
is = new ByteArrayInputStream(new String(data , "utf-8");
}
catch (IOException e)
{
is = new ByteArrayInputStream(data);
}
}
catch (IOException e1)
{
is = fis;
}
return is;
}
FileInputStream fis=new FileInputStream(file);
byte[] datas=new byte[1024];
int len;
ByteArrayOutputStream baos=new ByteArrayOutputStream();
while((len=fis.read(datas))!=0)
baos.write(datas, 0, len);
String strXML=new String(baos.toByteArray(),"utf-8");解析strXML即可 试试
SAXPaeser saxParser = spf.newSAXParser(); //创建解析器
XMLContentHander handler = new XMLContentHander(); //继承了DefaultHandler(DefaultHandler是对ContentHander接口的简单实现)
saxParser.parser(inputStream, handler); XMLContentHander需要实现ContentHandler接口的startDocument、endDocument、startElemetn、endElement、characters等基本方法。LZ在自己定义的ContentHander子类中实现相应的接口方法即可。。
FileInputStream fis=new FileInputStream(file);
http://www.ibm.com/developerworks/cn/xml/x-android/这篇文章很不错