如何解析这个xml文件?

时间:2012-09-17 05:10:33

标签: android xml-parsing

您好我想解析这个

<entry>
<id>http://306721</id>    
<title type='text'>MY New</title>   
<photo:id>513306721</gphoto:id>
<photo:name>MYNew</gphoto:name>   
<photo:numphotos>9</gphoto:numphotos>   
<media:group>
  <media:content url='http:Ya4MIz9Y/MYNew.jpg' medium='image' type='image/jpeg' />     
  <media:keywords />
  <media:thumbnail url='htt0-c/MYNew.jpg' height='160' width='160' />
  <media:title type='plain'>MY New</media:title>
</media:group>
</entry>

我能够解析这个文件,并且能够读取上面这个xml文档中的一些值

Document doc = db.parse(is);
NodeList entries = doc.getElementsByTagName("entry");            
for (int i = 0; i < entries.getLength(); i++) {
   Element element = (Element) entries.item(i);
   albumIds.add(getCharacterDataFromElement((Element) element                           
                             .getElementsByTagName("photo:id").item(0)));     
}

在上面的代码中,我正在阅读gphoto:id,我正在阅读photo:namephoto:numphotos

现在,我想阅读url media:thumbnailmedia:group所提供的内容{{1}}。任何人都可以帮我解决此问题。

3 个答案:

答案 0 :(得分:1)

请参阅我的SO问题的以下链接,它将解决您的问题,如果您对此有任何疑问,请告诉我。

XML Parsing Using DOM Parser

答案 1 :(得分:0)

将这些值添加到object(使用java pojo)并将该对象添加到ArrayList

答案 2 :(得分:0)

尝试使用以下代码。希望它会对你有所帮助。

 Document doc = db.parse(is);
    NodeList entries = doc.getElementsByTagName("entry");            
    for (int i = 0; i < entries.getLength(); i++) {
       Element element = (Element) entries.item(i);
       albumIds.add(getCharacterDataFromElement((Element) element                           
                                 .getElementsByTagName("gphoto:id").item(0)));   
       NodeList nodelist_group = doc.getElementsByTagName("media:group");  

        for (int j = 0; j < nodelist_group.getLength(); j++) {
       Element element = (Element) nodelist_group.item(j);
       NodeList nodelist_content = doc.getElementsByTagName("media:content");  
       URLS.add(nodelist_content.getAttribute('url')));  }}