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

このリンクの XML 解析については、よく説明されています。ここでは、 を使用して他のパーサーも見つけることができますxmlPullParser

于 2011-11-20T17:29:36.663 に答える
0

XmlPullParserのドキュメントには、便利な getAttributeCount() と getAttributeByName(int index) があります。で使用する必要がありますSTART_TAG

于 2011-11-20T16:44:00.197 に答える