首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >移植到安卓:为什么我会收到"Can't create default XMLReader;is system property org.xml.sax.driver set?“

移植到安卓:为什么我会收到"Can't create default XMLReader;is system property org.xml.sax.driver set?“
EN

Stack Overflow用户
提问于 2012-04-16 03:50:50
回答 3查看 4K关注 0票数 6

我正在将一些在我的桌面上运行良好的Java代码移植到Android上。我有以下代码段:

代码语言:javascript
运行
复制
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
// ...
XMLReader p = XMLReaderFactory.createXMLReader();

在最后一行,我得到了以下异常:

代码语言:javascript
运行
复制
Can't create default XMLReader; is system property org.xml.sax.driver set?

当我在桌面上测试代码时,它工作得很好。为什么我在Android上得到了这个异常,我如何修复它?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-19 21:29:15

已通过以下Parsing an XML File Using SAX (The Java™ Tutorials > Java API for XML Processing (JAXP) > Simple API for XML)解决

票数 1
EN

Stack Overflow用户

发布于 2015-07-07 23:57:50

我的解决方案是在我的MainActivity中包含以下代码:

代码语言:javascript
运行
复制
System.setProperty("org.xml.sax.driver","org.xmlpull.v1.sax2.Driver");
票数 11
EN

Stack Overflow用户

发布于 2013-12-05 17:55:45

我刚在将一些代码移植到Android时遇到了同样的问题。我发现创建自己的工厂和解析器似乎是可行的。

我会试着替换这个:

代码语言:javascript
运行
复制
XMLReader p = XMLReaderFactory.createXMLReader();

有了这个:

代码语言:javascript
运行
复制
SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
SAXParser newSAXParser = saxParserFactory.newSAXParser();
XMLReader p = newSAXParser.getXMLReader();

希望这能有所帮助:)

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

https://stackoverflow.com/questions/10165477

复制
相关文章

相似问题

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