我正在将一些在我的桌面上运行良好的Java代码移植到Android上。我有以下代码段:
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
// ...
XMLReader p = XMLReaderFactory.createXMLReader();
在最后一行,我得到了以下异常:
Can't create default XMLReader; is system property org.xml.sax.driver set?
当我在桌面上测试代码时,它工作得很好。为什么我在Android上得到了这个异常,我如何修复它?谢谢!
发布于 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)解决
发布于 2015-07-07 23:57:50
我的解决方案是在我的MainActivity中包含以下代码:
System.setProperty("org.xml.sax.driver","org.xmlpull.v1.sax2.Driver");
发布于 2013-12-05 17:55:45
我刚在将一些代码移植到Android时遇到了同样的问题。我发现创建自己的工厂和解析器似乎是可行的。
我会试着替换这个:
XMLReader p = XMLReaderFactory.createXMLReader();
有了这个:
SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
SAXParser newSAXParser = saxParserFactory.newSAXParser();
XMLReader p = newSAXParser.getXMLReader();
希望这能有所帮助:)
https://stackoverflow.com/questions/10165477
复制相似问题