我已经在我的应用程序中实现了一个 SAXparser,它以前运行良好,但是我在处理新的 XML 文档时遇到了问题。
这是我的解析器
public List<Article> getLatestArticles(String feedUrl) {
URL url = null;
try {
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
url = new URL(feedUrl);
xr.setContentHandler(this);
xr.parse(new InputSource(url.openStream()));
} catch (IOException e) {
Log.e("RSS Handler IO", e.getMessage() + " >> " + e.toString());
} catch (SAXException e) {
Log.e("RSS Handler SAX", e.toString());
} catch (ParserConfigurationException e) {
Log.e("RSS Handler Parser Config", e.toString());
}
catch (java.lang.IllegalArgumentException e){
Log.e("RSS Handler lang", e.getMessage() + " >> " + e.toString());
}
return articleList;
}
解析器启动正常,但随后出现java.lang.IllegalArgumentException
错误。我相信这可能是由于我的 xml 提要中有一个没有价值的元素,它看起来像这样<Description/>
。
任何有关如何解决此问题的建议将不胜感激。