<?xml version="1.0" encoding="UTF-8"?>
<feed>
<entry>
<id>1</id>
<name>Margherita</name>
<cost>155</cost>
<description>Single cheese topping</description>
<list>
<author>PPShein</author>
<authorurl>http://www.ppshein.net</authorurl>
</list>
</entry>
<entry>
<id>2</id>
<name>Double Cheese Margherita</name>
<cost>225</cost>
<description>Loaded with Extra Cheese</description>
<list>
<author>Mike</author>
<authorurl>http://www.mike.net</authorurl>
</list>
</entry>
</feed>
我在解析上面的XML文件时遇到了问题。我可以通过使用this example的android来解析“id,name,cost和discription”。
但是对于<author>
和<authorurl>
标记,上述链接的示例无法完成我的任务。请帮我解析如何解析这个XML文件的子标记。
答案 0 :(得分:0)
只需浏览 DOM Parser 即可。您可以通过其名称获取特定节点。实际上它的工作方式与其他节点相同,您必须获得具有子节点NodeList
和list
的{{1}}元素的author
。
看看这些
<强> Tutorial 1 Tutorial 2 强>
答案 1 :(得分:0)
1.我已经解析了这个xml我认为这个可以帮助你
<?xml version="1.0" encoding="utf-8"?>
<rootelement1>
<subelement> Hello XML Sub-Element 1</subelement>
<subelement> Hello XML Sub-Element 2
<subsubelement>
Sub Sub Element
</subsubelement>
</subelement>
</rootelement1>
2.extratct xml在这里
private String getEventsFromAnXML(Activity activity)
throws XmlPullParserException, IOException {
StringBuffer stringBuffer = new StringBuffer();
Resources res = activity.getResources();
XmlResourceParser xpp = res.getXml(R.xml.parsxml);
xpp.next();
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_DOCUMENT) {
stringBuffer.append("--- Start XML ---");
} else if (eventType == XmlPullParser.START_TAG) {
stringBuffer.append("\nSTART_TAG: " + xpp.getName());
System.out.println("\n--- Start XML ---" + xpp.getName());
} else if (eventType == XmlPullParser.END_TAG) {
stringBuffer.append("\nEND_TAG: " + xpp.getName());
} else if (eventType == XmlPullParser.TEXT) {
stringBuffer.append("\nTEXT: " + xpp.getText());
}
eventType = xpp.next();
}
stringBuffer.append("\n--- End XML ---");
System.out.println("\n--- End XML ---");
return stringBuffer.toString();
}