Разобрать 2 уровня XML android

Пожалуйста, исправьте таблицу, если она неправильная, я не совсем уверен, что озаглавить это.

Я пытаюсь проанализировать мой XML в Android, и у меня есть код, который должен работать, но проблема в том, что есть несколько уровней тегов, в которые мне нужно попасть.

Вот пример моего 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;
}

Проблема в том, что он читает только теги второго уровня, а не внутри тега результатов, поэтому он не может найти листинг.

Как перейти на другой уровень во время чтения?

1 ответ

Решение

Добавление этого утверждения, похоже, решило проблему

 if (name.equals("results")) {
   String nextTokedn = "Next Level " + parser.nextTag();
 }
Другие вопросы по тегам