documentbuilderfactory无法在android 3.0中运行

时间:2011-06-07 10:03:13

标签: android xml android-3.0-honeycomb

这是我用于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为什么会这样?

任何建议?

3 个答案:

答案 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)

现在看来元素的访问方式有点不同。

对于其他人,请查看编写它的新方法。

由于