如果我有HTML,看起來像:可以使用xpath獲取html定位標記的值嗎?
<td class="blah">&nbs;<a href="http://.....">????</a> </td>
我能得到????值使用xpath? 它會是什麼樣子?
如果我有HTML,看起來像:可以使用xpath獲取html定位標記的值嗎?
<td class="blah">&nbs;<a href="http://.....">????</a> </td>
我能得到????值使用xpath? 它會是什麼樣子?
爲什麼你會使用XML解析器解析HTML? 我會建議使用專用的Java HTML解析器,有很多,但我沒有嘗試過任何我自己。
至於你的問題,它會工作,我懷疑它不會工作,你會得到一個錯誤,當試圖解析它作爲HTML在&nbs;
如果不是早些時候。
使用XPath你通常需要XML不是HTML,但有些解析器(例如,一個內置到PHP)有一個輕鬆的方式將解析大多數HTML,太。
如果你想找到所有<a>
是的<td class="blah">
直接孩子你需要的XPath是
//td[@class = 'blah']/a
or
//td[@class = 'blah']/a[@href = 'http://...']
(取決於你是否只想要一個URL或所有URL)
這會給你一套節點。您需要遍歷它,然後檢查firstChild
(應該是文本節點)的nodeType
以及子節點的數量(假設爲1)。然後firstChild
將包含????
你的標題,其實並不是你所要求的。看起來你真正想要的是獲取具有等於特定URL的「href」屬性的「a」元素的內容......是否正確? – 2010-01-07 05:06:15
是的,這是正確的。 – mrblah 2010-01-07 05:11:59
我不知道的XPath,但蟒蛇的HTML解析器,這是非常好的是BeautifulSoup 。不過,您正在使用Java,因此這可能沒有幫助。 –
2010-01-07 05:16:14