2011-02-28 108 views
0

當我使用SAX解析此XML時,我不知道如何通過三個不同的「rel」來獲取這三個「link」標記的href屬性值,屬性。如何使用具有相同標記和多屬性的SAX解析xml

<entry> 
<title>ahbei</title> 
<link href="http://api.douban.com/people/1000001" rel="self" /> 
<link href="http://www.douban.com/people/ahbei/" rel="alternate" /> 
<link href="http://img3.douban.com/icon/u1000001-20.jpg" rel="icon" /> 
<uri>http://api.douban.com/people/1000001</uri> 
</entry> 

我無法通過此代碼獲取「http://img3.douban.com/icon/u1000001-20.jpg」。

public void startElement(String uri, String localName, String qName, 
      Attributes atts) throws SAXException { 

     if (localName.equals("link") && (atts.getValue("rel") == "icon")) // (*) 
     { 
      NowState = DBU_icon_url; 
      DouBanUser.setIcon(atts.getValue(0)); 
      return; 
     } 

    } 

謝謝。


變化 「if (localName.equals("link") && (atts.getValue("rel") == "icon"))」 => 「if (localName.equals("link") && atts.getValue("rel").equals("icon"))

+0

你通過這段代碼得到了什麼* –

+0

嘗試'if(localName.equals(「link」)&& atts.getValue(「rel」)。equals(「icon」))' –

+0

我想獲得第三個鏈接的href值。 – Xhinking

回答

0

我認爲這將解決您的問題。

NodeList link = elementW.getElementsByTagName("link"); 
int getLinkCount = link.getLength(); 
Element elementLink; 
if (getLinkCount != 0) { 
for (int i = 0; i < getLinkCount; i++) { 
    elementLink = (Element) Link.item(i); 

    // Here you can get these three links. 
} 
} 
+0

謝謝你Saurabh! – Xhinking

相關問題