我知道为什么我收到此消息,因为服务器发出错误并且没有返回XML,只是一条错误消息。有没有办法检查它是否是有效的XML,所以我没有收到此消息。
我将XML传递给此方法:
public Document getDomElement(String xml){
Document doc = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xml));
doc = db.parse(is);
} catch (ParserConfigurationException e) {
Log.e("Error: ", e.getMessage());
return null;
} catch (SAXException e) {
Log.e("Error: ", e.getMessage());
return null;
} catch (IOException e) {
Log.e("Error: ", e.getMessage());
return null;
}
// return DOM
return doc;
}
由于
答案 0 :(得分:1)
错误非常简单,您的XML看起来像(示例):
<root-element>
...
</root-element>
<root-element>
...
</root-element>
...
<root-element>
...
</root-element>
虽然XML只允许一个根元素,所以你需要为所有“基础”元素创建一个“包装”元素,以便解析器工作。