1
未定義的實體,我在一個Android項目,我要解析國際語言RSS(標題和描述是另一種語言)使用SAX的中間。解析時,我在Logcat中收到以下警告。此外,RSS中的項目都沒有被解析。ParseException的:在SAX解析器
**9-10 07:12:33.598: W/System.err(1238): org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 3921: undefined entity**
09-10 07:12:33.598: W/System.err(1238): at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:520)
09-10 07:12:33.598: W/System.err(1238): at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:479)
09-10 07:12:33.598: W/System.err(1238): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:318)
09-10 07:12:33.608: W/System.err(1238): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:275)
09-10 07:12:33.608: W/System.err(1238): at com.example.news.FeedTableViewActivity$SAXHelper.parseContent(FeedTableViewActivity.java:255)
09-10 07:12:33.608: W/System.err(1238): at com.example.news.FeedTableViewActivity$ParseIndividualFeedTask.doInBackground(FeedTableViewActivity.java:217)
09-10 07:12:33.608: W/System.err(1238): at com.example.news.FeedTableViewActivity$ParseIndividualFeedTask.doInBackground(FeedTableViewActivity.java:1)
09-10 07:12:33.608: W/System.err(1238): at android.os.AsyncTask$2.call(AsyncTask.java:185)
09-10 07:12:33.608: W/System.err(1238): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
09-10 07:12:33.608: W/System.err(1238): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
09-10 07:12:33.608: W/System.err(1238): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
09-10 07:12:33.618: W/System.err(1238): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
09-10 07:12:33.618: W/System.err(1238): at java.lang.Thread.run(Thread.java:1019)
所有其他RSS提要的英文不顯示任何警告,因此其項目被解析。
一個示例XML是here這裏是我的代碼部分:
public void parseUsingSAX(currentUrl){
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
xr.setContentHandler(df);
InputSource is = new InputSource(currentUrl.openStream());
is.setEncoding("UTF-8");
xr.parse(is);
}
任何幫助,將不勝感激!謝謝!
也許,你正面臨着這樣的問題: [Unicode的正則表達式;無效的XML字符] [1] [1]:http://stackoverflow.com/questions/397250/unicode-regex-invalid-xml-characters –
穆斯塔法,我試過,但它給我' MalformedURLException'現在。我讀的字符串響應XML並刪除了所有多餘的字符,但我仍然得到錯誤。儘管謝謝您的幫助! – javaCity