如何使用具有相同标记和多属性的SAX解析xml
问题描述:
当我使用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"))
”
答
我认为这将解决您的问题。
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
你通过这段代码得到了什么* –
尝试'if(localName.equals(“link”)&& atts.getValue(“rel”)。equals(“icon”))' –
我想获得第三个链接的href值。 – Xhinking