这是我用于android 2.3的代码。它用于正常工作。 但不要为什么它似乎不适用于android 3.0
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try
{
try
{
while(this.xml.available()>0)
Log.e("content", ""+this.xml.read());
}
catch (Exception e) {
// TODO: handle exception
Log.e("error", "while reading the file");
}
this.xml.reset();
DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(this.xml);
Element root = dom.getDocumentElement();
Log.d(TAG, "have root?"+dom.getLocalName());;
Log.d(TAG, "have root?"+dom.getInputEncoding());;
Log.d(TAG, "have root?"+dom.getNodeValue());;
}
catch (Exception e)
{
Log.e(TAG, e.getMessage(), e);
}
//Log.d(TAG, "Exit: parse");
return stores;
}
innner while以数字显示文件内容。 但是当我得到dom。*我得到null为什么会这样?
任何建议?
答案 0 :(得分:1)
实际上在Android 3.0之前的Android版本中存在一些漏洞 这些错误在3.0中得到纠正,因此您使用DOM
完成的旧实现可能需要进行一些更改请参阅此链接
http://code.google.com/p/android/issues/detail?id=2735#c11
干杯 人士Himanshu
答案 1 :(得分:1)
不要使用元素root = dom.getDocumentElement();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(stream);
NodeList nodeResponse = dom.getElementsByTagName("rootelement");
答案 2 :(得分:0)
现在看来元素的访问方式有点不同。
对于其他人,请查看编写它的新方法。
由于