我正在将一些在我的桌面上工作正常的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上遇到此异常,我该如何解决? THX!
答案 0 :(得分:9)
我在将一些代码移植到Android时遇到了同样的问题。我发现创建自己的工厂和解析器似乎有效。
我试着替换它:
XMLReader p = XMLReaderFactory.createXMLReader();
有了这个:
SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
SAXParser newSAXParser = saxParserFactory.newSAXParser();
XMLReader p = newSAXParser.getXMLReader();
希望这会有所帮助:)
答案 1 :(得分:5)
我的解决方案是在我的MainActivity中包含以下代码:
System.setProperty("org.xml.sax.driver","org.xmlpull.v1.sax2.Driver");
答案 2 :(得分:1)