以前は問題なく動作していたアプリケーションに 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/>
。
これを修正する方法についての提案は大歓迎です。