如何使用DOM正确读取Android应用程序中的XML?

时间:2011-11-20 16:19:45

标签: android xml parsing dom xmlpullparser

如果XML文件本地存储在我的机器上,我可以获得我想要的信息,但是当存储在手机上时读取它并不是很好。

我已经尝试过XMLPullParser,但它提取了有关id名称等的二进制信息,我想要实际名称。

代码:

    final String ANDROID_ID = "android:id";

            try {
                File fXmlFile = new File("res/layout/page1.xml");
                DocumentBuilderFactory dbFactory = DocumentBuilderFactory
                        .newInstance();
                DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
                Document doc = dBuilder.parse(fXmlFile);
                doc.getDocumentElement().normalize();

                NodeList nList = doc.getElementsByTagName("Button");

                for (int temp = 0; temp < nList.getLength(); temp++) {
                    Node nNode = nList.item(temp);
                    if (nNode.getNodeType() == Node.ELEMENT_NODE) {
                        Element eElement = (Element) nNode;

                        if (eElement.hasAttribute(ANDROID_ID))
                            System.out.println("ID: "
                                    + eElement.getAttribute(ANDROID_ID));
                    }
                }
            } 

            catch (Exception e) {
                System.out.println("Catch");


  e.printStackTrace();
        }

2 个答案:

答案 0 :(得分:0)

XmlPullParser文档中的

有一个可能有用的getAttributeCount()和getAttributeByName(int index)。您必须在START_TAG

中使用它

答案 1 :(得分:0)

通过XML解析这个link描述得很好。在这里,您可以使用xmlPullParser找到其他解析器。