0

間違っている場合は、表を修正してください。この表のタイトルがよくわかりません。

Android で XML を解析しようとしていますが、動作するはずのコードがありますが、問題は、複数のレベルのタグを取得する必要があることです。

これが私の XML の例です。

<dsxout>
    <uselessTag>unnecasary info</uselessTag>
    <results>
         <listing>
             <title>I'm a Title</title>
             <description>very amusing description</description>
         </listing>
         <listing>
         ...
         </listing>
    </results>
</dsxout>

解析が行き詰まる場所は次のとおりです。

private List readFeed(XmlPullParser parser) throws XmlPullParserException, IOException {
    List entries = new ArrayList();
    Toast.makeText(getBaseContext(), "readFeed", Toast.LENGTH_SHORT).show();

    parser.require(XmlPullParser.START_TAG, ns, "dsxout");
    while (parser.next() != XmlPullParser.END_TAG) {
        if (parser.getEventType() != XmlPullParser.START_TAG) {
            continue;
        }
        String name = parser.getName();

以下の行は、タグ uselessTag と結果を吐き出すだけです

        Toast.makeText(getBaseContext(), name, Toast.LENGTH_SHORT).show();

        // Starts by looking for the entry tag
        if (name.equals("listing")) {
            entries.add(readEntry(parser));
        } else {
            skip(parser);
        }
    }
    return entries;
}

問題は、結果タグ内ではなく、タグの第 2 レベルまでしか読み取れないため、リストを見つけることができないことです。

読書中に別のレベルに進むにはどうすればよいですか?

4

1 に答える 1

0

このステートメントを追加すると、問題が解決したようです

 if (name.equals("results")) {
   String nextTokedn = "Next Level " + parser.nextTag();
 }
于 2014-12-23T15:13:19.633 に答える