【问题标题】:Parse 2 Levels of XML android解析 2 级 XML android
【发布时间】:2014-12-23 14:47:09
【问题描述】:

如果有错误请更正表格,我不完全确定标题是什么。

我正在尝试在 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;
}

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

我如何在阅读时更上一层楼?

【问题讨论】:

  • webservices 消费时,最好使用ksoap2 等库,这样可以节省一些时间,而且它们比硬编码更不容易出错。你可以参考这个link了解更多详情

标签: android xml xml-parsing xmlpullparser android-xmlpullparser


【解决方案1】:

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

 if (name.equals("results")) {
   String nextTokedn = "Next Level " + parser.nextTag();
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 2012-07-02
    • 1970-01-01
    • 2012-05-21
    • 2017-03-22
    • 2012-01-12
    相关资源
    最近更新 更多