gpt4 book ai didi

java - XmlPullParser 获取子节点的首选方式?

转载 作者:行者123 更新时间:2023-11-30 11:42:42 26 4
gpt4 key购买 nike

获取 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

getText() 不会生成异常,因为您位于 XmlPullParser.TEXT 区域内(因此可以确定 Text 存在)。

希望对您有所帮助!

关于java - XmlPullParser 获取子节点的首选方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11588439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com