2013-03-04 131 views
0
<?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文件。通过使用android的this example解析“id,名称,成本和描述”是很好的。Android解析子XML标记

<author><authorurl>标签,例如上面的链接无法完成我的任务。请帮我解析这个XML文件的子标签。

回答

0

只需经过一个DOM解析器。您可以通过名称获取特定的节点。其实它的工作同其他节点,你只得到了NodeListlist元素具有子节点authorauthorurl

看看这些

Tutorial 1 Tutorial 2

0

1.I已经解析这个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(); 
    } 

Reference from here