此链接上的文章(android 开发者的博客)说:
使用 XmlPullParser 是一种在 Android 上解析 XML 的高效且可维护的方法。从历史上看,Android 有两个该接口的实现:
- KXmlParser, via XmlPullParserFactory.newPullParser(). - ExpatPullParser, via Xml.newPullParser().
Xml.newPullParser() 的实现有一个错误,即对 nextText() 的调用并不总是像文档所承诺的那样前进到 END_TAG。因此,某些应用程序可能会通过额外调用 next() 或 nextTag() 来解决该错误:
...
我不明白这是指XmlPullParserFactory.newPullParser()
还是指Xml.newPullParser()
两者。
例如,此代码在 Android 2.3.3 及更低版本上是否会产生错误:
XmlPullParser xpp = XmlPullParserFactory.newInstance().newPullParser();
int event = xpp.getEventType();
while (...event not end doc and tag not equal search term...){
event = xpp.next();
}
myClass.setSomeText(xpp.nextText());