【发布时间】:2013-09-05 22:19:18
【问题描述】:
我在尝试解析一些 XML 时遇到以下异常:
org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: not well-formed (invalid token)
主要问题是这种情况只发生在 Android 2.2 或 2.3 设备中,但最奇怪的是我第一次解析响应时还可以,但以下所有尝试都给我解析异常。
我的代码如下:
URL url = new URL("http://m.ideasmusik.com/rss/?ct=mx");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
//InputSource is = new InputSource("http://m.ideasmusik.com/rss/?ct=mx");
//is.setEncoding(HTTP.UTF_8);
// Parse content
MusicRSSParser parser = new MusicHandler.MusicRSSParser(); //DefaultHandler
XMLReader xr = sp.getXMLReader();
xr.setContentHandler(parser);
InputSource in = new InputSource(url.openStream());//is.getByteStream());
in.setEncoding(HTTP.UTF_8);
xr.parse(in);
XML 是 UTF-8(我读过这是一个常见的问题是编码不正确)。
猜猜出了什么问题?我认为这可能与我的处理程序有关,但它在我的逻辑应用之前崩溃,就在 startDocument() 方法之后。
我尝试过使用 Url 而不是 InputStream,结果相同。
编辑
如果我去应用程序管理并擦除应用程序缓存,那么它可以正常工作,这是第一次。它如何影响解析??
【问题讨论】:
标签: android xml saxparser saxparseexception parseexception