2010-02-22 68 views
5

文字我有HTML文件的这些内容:
XPath表达式来选择链接

<a class="bf" title="Link to book" href="/book/229920/">book name</a>

帮我构建XPath表达式获得链接文本(书名)。 我尝试使用/a,但表达式评估时没有结果。

回答

2

你试过

//a 

更具体的是更好:

//a[@class='bf' and starts-with(@href, '/book/')] 

注意,这个选择<a>元素。在主机环境中,通过标准DOM方法(如.textContent属性)很容易提取该节点的文本值。

要选择实际的文本节点,请参阅本主题中的其他答案。

+0

你的答案帮助了我更多,但没有开始 - 参数! – alex 2010-02-22 15:52:50

+0

@alex:这只是一个“更具体更好”的例子。 ;) – Tomalak 2010-02-22 16:45:19

3

它也取决于您的文档的其余部分。如果在开始时使用//,则会返回所有匹配节点,如果文档中有其他链接,结果可能太多。

除此之外,可能的xpath表达式是//a/text()

您试过的/a只返回a -tag本身,如果它是根元素。要获得链接文本,您需要附加/text()部分。