0

如果 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();
        }
4

2 回答 2

0

Over XML parsing this link describes well. Here you can find other parsers too with xmlPullParser.

于 2011-11-20T17:29:36.663 回答
0

XmlPullParser文档中有一个可能有用的 getAttributeCount() 和 getAttributeByName(int index)。你必须在START_TAG

于 2011-11-20T16:44:00.197 回答