我想从字符串中解析XML。当字符串长度很小时,这工作正常。但是对于一个长字符串,它不会解析任何东西。它在调用parse()时暂停。我使用以下代码进行解析。请告诉我我的代码有什么问题?
//my xml code is string 'xmlString'
DocumentBuilderFactory objDocFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder objDocBuilder=objDocFactory.newDocumentBuilder();
InputSource objInput=new InputSource();
objInput.setCharacterStream(new StringReader(xmlString));
Document objDoc=objDocBuilder.parse(objInput);
//appication is suspended at the above line
objDoc.getDocumentElement().normalize();
谢谢...
答案 0 :(得分:2)
文件有多大?
我已经使用Android的TinyXML解析器,我对结果非常满意。也许你可以查看一次。
最好的部分是它非常易于使用,学习曲线也相当少。
答案 1 :(得分:0)
凯斯说的正是如此。使用DOM,它试图将整个文档加载到内存中,这不是移动设备上最好的东西。 SAX将流式传输数据,因此它只会使用一点内存。