0

到目前为止,我设置了以下 Xpath 以从 href 中提取单词“gallery”,但它返回整个 url 而不仅仅是单词 gallery。你能帮忙解释一下我做错了什么吗?谢谢你,非常感谢!

$x("//link[@rel='canonical' and contains(@href,'gallery')]")
4

1 回答 1

0

您当前的 XPath 表达式,

$x("//link[@rel='canonical' and contains(@href,'gallery')]")

返回一个<link>元素序列。根据您评估它们的方式,您可能会获得它们的文本内容。

如果你只想要这个词'gallery',在 XPath 2.0 中你可以说

$x("//link[@rel='canonical' and contains(@href,'gallery')]/'gallery'")

这将返回一个字符串序列,'gallery'每个<link>满足谓词的元素一个。

或者你可以说

$x("if (exists(//link[@rel='canonical' and contains(@href,'gallery')]))
       then 'gallery' else null")

它将返回'gallery'(一次)或null。

于 2013-07-31T20:05:03.293 回答