首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ParseException: SAX解析器中未定义的实体

ParseException: SAX解析器中未定义的实体
EN

Stack Overflow用户
提问于 2012-09-11 10:25:47
回答 1查看 592关注 0票数 1

我在一个Android项目中,我必须使用SAX解析国际语言RSS (标题和描述在另一种语言中)。在解析时,我在Logcat中得到以下警告。此外,RSS中的任何项都不会被解析。

代码语言:javascript
复制
**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,下面是我的代码部分:

代码语言:javascript
复制
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);
}

任何帮助都将不胜感激!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-09-27 23:54:05

异常告诉您,在您正在解析的xml中,第1行/列/字符3921处有一个问题。

我也遇到过类似的问题,它是由使用错误的代码页引起的。

查看一下异常所指向的位置,以及它是否是您期望的字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12361891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档