0
<?xml version="1.0" encoding="UTF-8"?>
<feed>
    <entry>
        <id>1</id>
        <name>Margherita</name>
        <cost>155</cost>
        <description>Single cheese topping</description>
        <list>
            <author>PPShein</author>
            <authorurl>http://www.ppshein.net</authorurl>
        </list>
    </entry>
    <entry>
        <id>2</id>
        <name>Double Cheese Margherita</name>
        <cost>225</cost>
        <description>Loaded with Extra Cheese</description>
        <list>
        <author>Mike</author>
        <authorurl>http://www.mike.net</authorurl>
    </list>        
    </entry>
</feed>

上記のXMLファイルの解析に問題があります。このAndroidの例を使用して、「id、name、cost、discription」を解析しても問題ありません。

しかし<author><authorurl>タグの場合、上記のリンクの例では私のタスクを実行できません。このXMLファイルのサブタグを解析する方法を教えてください。

4

2 に答える 2

0

DOM Parserを通過するだけです。特定のノードをその名前で取得できます。実際には他のノードと同じように機能します。子ノードとを持つNodeListforlist要素を取得するだけです。authorauthorurl

これを見て

チュートリアル 1 チュートリアル 2

于 2013-03-04T06:13:50.283 に答える
0

1.このxmlを解析しました。これが役立つと思います

<?xml version="1.0" encoding="utf-8"?>
<rootelement1>
    <subelement> Hello XML Sub-Element 1</subelement>
    <subelement> Hello XML Sub-Element 2 
        <subsubelement>
          Sub Sub Element 
         </subsubelement>
   </subelement>
</rootelement1>

2.extract xml はこちら

private String getEventsFromAnXML(Activity activity)
            throws XmlPullParserException, IOException {
        StringBuffer stringBuffer = new StringBuffer();
        Resources res = activity.getResources();
        XmlResourceParser xpp = res.getXml(R.xml.parsxml);
        xpp.next();
        int eventType = xpp.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT) {
            if (eventType == XmlPullParser.START_DOCUMENT) {
                stringBuffer.append("--- Start XML ---");

            } else if (eventType == XmlPullParser.START_TAG) {
                stringBuffer.append("\nSTART_TAG: " + xpp.getName());
                System.out.println("\n--- Start XML ---" + xpp.getName());
            } else if (eventType == XmlPullParser.END_TAG) {
                stringBuffer.append("\nEND_TAG: " + xpp.getName());
            } else if (eventType == XmlPullParser.TEXT) {
                stringBuffer.append("\nTEXT: " + xpp.getText());
            }
            eventType = xpp.next();
        }
        stringBuffer.append("\n--- End XML ---");
        System.out.println("\n--- End XML ---");
        return stringBuffer.toString();
    }

ここから参照

于 2013-03-04T06:32:15.253 に答える