<root>
<element> <!-- When this is encountered... -->
<element>text</element>
<element>text</element>
<element>
<element>text</element>
</element>
</element>
<element> <!-- ...skip to here. -->
<element>text</element>
<element>text</element>
<element>
<element>text</element>
</element>
</element>
</root>
内部标记可以与外部标记具有相同的名称。在这种情况下,它们都被称为element
。
基本上,如果我在任何给定的START_TAG
,我想跳到相应的END_TAG
并继续从相同深度的下一个START_TAG
进行解析。
答案 0 :(得分:2)
在Android开发者网站上找到了一个代码段。
private void skip(XmlPullParser parser) throws XmlPullParserException, IOException {
if (parser.getEventType() != XmlPullParser.START_TAG) {
throw new IllegalStateException();
}
int depth = 1;
while (depth != 0) {
switch (parser.next()) {
case XmlPullParser.END_TAG:
depth--;
break;
case XmlPullParser.START_TAG:
depth++;
break;
}
}
}