【发布时间】:2010-12-24 18:28:30
【问题描述】:
我在我的 Android 应用程序中使用 SAX 解析器一次读取一些提要。脚本执行如下。
// Begin FeedLezer
try {
/** Handling XML **/
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
/** Send URL to parse XML Tags **/
URL sourceUrl = new URL(
BronFeeds[i]);
/** Create handler to handle XML Tags ( extends DefaultHandler ) **/
Feed_XMLHandler myXMLHandler = new Feed_XMLHandler();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));
} catch (Exception e) {
System.out.println("XML Pasing Excpetion = " + e);
}
sitesList = Feed_XMLHandler.sitesList;
String titels = sitesList.getMergedTitles();
这里是Feed_XMLHandler.java 和Feed_XMLList.java,我基本上都是从网上获取的。
但是,此代码有时会失败。我将展示一些示例。
http://imm.io/media/2I/2IAs.jpg 这里进展顺利。它甚至可以识别和显示撇号。即使点击打开的文章,几乎所有的文字都会显示,所以这一切都很好。源提要在这里。我无法控制饲料。
http://imm.io/media/2I/2IB1.jpg 在这里,事情并不顺利。它确实显示了ï,但它在撇号上窒息(Waarom 之后应该是“NORAD”)。 Here
http://imm.io/media/2I/2IBQ.jpg这是最糟糕的一个。如您所见,标题仅显示一个撇号,而它应该是“blablabla”。此外,文本在行的中间结束,引号中没有任何特殊字符。 The feed is here
在所有情况下,我都无法控制提要。我认为脚本确实会因特殊字符而窒息。如何确保 SAX 正确获取所有字符串?
如果有人知道这个问题的答案,你真的帮了我很多:D
提前致谢。
【问题讨论】:
标签: java android special-characters saxparser