如果我有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