Каким будет предпочтительный способ получения дочерних узлов строки XML? Кажется, не хватает хороших примеров разбора с помощью XmlPullParser в android. Например, если я хочу разобрать это:
<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");
}
Но выглядит действительно некрасиво. Есть ли лучший способ сделать это?
e.printStackTrace()
означает никогда не иметь с этим дело. - person jtahlborn   schedule 21.07.2012