包含新行的XPath text()表达式

时间:2010-12-02 20:29:44

标签: xpath

假设我有以下HTML代码:

<a href="/site/somesite/">
                          somesite</a>

我的问题是如何编写必须使用text()属性来匹配somesite链接的XPath表达式,我无法更改源代码?

2 个答案:

答案 0 :(得分:3)

我不确定您是要根据链接文本查找URL,还是根据URL查找链接文本。这将为您提供URL:

//a[normalize-space() = 'somesite']/@href

这将为您提供文字:

normalize-space(//a[@href = '/site/somesite/'])

答案 1 :(得分:2)

使用normalize-space(),它将丢弃前导和尾随空白字符(并将文本中间的重复空格压缩成一个空格),以便您可以比较规范化的text()和用于过滤谓词。

a[normalize-space(text())='somesite']