文字我有HTML文件的这些内容:
XPath表达式来选择链接
<a class="bf" title="Link to book" href="/book/229920/">book name</a>
帮我构建XPath表达式获得链接文本(书名)。 我尝试使用/a
,但表达式评估时没有结果。
文字我有HTML文件的这些内容:
XPath表达式来选择链接
<a class="bf" title="Link to book" href="/book/229920/">book name</a>
帮我构建XPath表达式获得链接文本(书名)。 我尝试使用/a
,但表达式评估时没有结果。
你试过
//a
?
更具体的是更好:
//a[@class='bf' and starts-with(@href, '/book/')]
注意,这个选择<a>
元素。在主机环境中,通过标准DOM方法(如.textContent
属性)很容易提取该节点的文本值。
要选择实际的文本节点,请参阅本主题中的其他答案。
如果上下文是整个文档,则应该使用//
而不是/
。你也可能(不确定)需要再下一层才能检索文本。
我想应该是这样的
//a/text()
编辑:作为托默勒格指出它text()
不text
它也取决于您的文档的其余部分。如果在开始时使用//
,则会返回所有匹配节点,如果文档中有其他链接,结果可能太多。
除此之外,可能的xpath表达式是//a/text()
。
您试过的/a
只返回a
-tag本身,如果它是根元素。要获得链接文本,您需要附加/text()
部分。
你的答案帮助了我更多,但没有开始 - 参数! – alex 2010-02-22 15:52:50
@alex:这只是一个“更具体更好”的例子。 ;) – Tomalak 2010-02-22 16:45:19