大家在使用sax进行解析xml文件的时候会发现,如果xml文件中存在中文,测无法解析,读取的信息都为空,这主要是编码问题,将xml的编码修改为“GB2312”,同时,在解析的时候使用同样的编码。
private List<Urls> getUrls(){
List<Urls> urls=new ArrayList<Urls>();
SAXParserFactory factory=SAXParserFactory.newInstance();
try {
XMLReader reader=factory.newSAXParser().getXMLReader();
reader.setContentHandler(new UrlsHandler(urls));
InputSource is = new InputSource(new InputStreamReader(
this.getResources().openRawResource(R.raw.url),"gb2312"));//此处防止乱码
reader.parse(is);
} catch (Exception e) {
e.printStackTrace();
}
return urls;
}
来源:www.lrguan.com/articles/20130709-02.htm