2013-05-07 75 views
0

我試圖在解析XML Flickr的飼料。 API給出了這樣的答案解析XML領域只在特定的標籤

blah-blah-blah 
qweqweqweq 
<title>qfasf</title> 

<entry> 
<title>Hello</title> 
blah-blah 
</entry> 

我的代碼

while (parser.getEventType() != XmlPullParser.END_DOCUMENT) { 
      switch (parser.getEventType()) { 
      case XmlPullParser.START_TAG: 
       if (parser.getName().equalsIgnoreCase("title")) { 
        image.imgTitle = parser.nextText(); 
        Log.e(LOG_TAG, image.getImgTitle()); 
       } 
       break; 
      case XmlPullParser.END_TAG: 
       if (parser.getName().equalsIgnoreCase("entry")) { 

       } 
      default: 
       break; 
      } 
      parser.next(); 

但它的解析所有標題文本。如何使它僅解析條目標題? 而那些更多的問題如何在標籤解析性能(HREF)

<link rel="enclosure" type="image/jpeg" href="http://farm8.staticflickr.com/7297/8716931515_3e8d0826ff_b.jpg" /> 
+0

哈哈// @誇誇其談,qweqwe – 2013-05-07 15:53:07

回答

0
Document doc = db.parse(document); 
NodeList name = doc.getElementsByTagName("title"); 
Element line = (Element) name.item(0); 
System.out.println("Name: " + getCharacterDataFromElement(line)); 

這種方式是清潔:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = dbf.newDocumentBuilder(); 
Document document = db.parse(new File("input.xml")); 
NodeList nodeList = document.getElementsByTagName("title"); 

而且你有你的節點列表,使任何你想要的(拿文本,...)

+0

哦,ü可以通過API答案的真實的例子檢查呢? http://www.flickr.com/services/feeds/photos_public.gne?format=xml 你在哪裏選擇Entry標籤?工作原理:D – Sunstrike 2013-05-07 15:56:53

+0

我可以看到一個漂亮的浴缸:D – 2013-05-07 15:59:16

0

我想XPath是在這裏你的朋友。您可能應該仔細研究一下Google上的XPath教程。 例如,您可能希望看到一個鏈接是this