获取 XML 字符串的子节点的首选方法是什么? android中似乎缺乏使用XmlPullParser进行解析的好例子。例如,如果我想解析这个:
<Point>
<Id>81216</Id>
<Name>Lund C</Name>
</Point>
我想出了一种完成这项工作的方法:
List<Point> points = new ArrayList<Point>();
String id = null
name = null;
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("Id")) {
try {
id = xpp.nextText();
} catch (Exception e) {
e.printStackTrace();
}
}
else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("Name")) {
try {
name = xpp.nextText();
} catch (Exception e) {
e.printStackTrace();
}
else if(eventType == XmlPullParser.END_TAG && xpp.getName().equals("Point")) {
Point point = new Point(id, name);
points.add(point);
}
try {
eventType = xpp.next();
} catch (exception e) {
e.printStackTrace();
}
}
for (Point p : points) {
tv.append(p.getId() + " | " + p.getName() + "\n");
}
但看起来确实很丑。有更好的方法吗?
在我看来,处理 XML 文本的更好方法如下:
http://androidcookbook.com/Recipe.seam?recipeId=2217 http://androidcookbook.com/Recipe.seam?recipeId=2217
getText() 不会生成异常,因为您位于 XmlPullParser.TEXT 区域内(因此可以确定 Text 在那里)。
希望能帮助到你!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)