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 和 results

        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;
}

问题是它只读取到第二级标签,而不是在结果标签内,所以它找不到列表。

我如何在阅读时进入另一个级别?

4

1 回答 1

0

添加此语句似乎已解决问题

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