Разобрать 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();
}