XPath text()表达式 - 如果包含换行符,则在text()中指定的内容

时间:2015-05-28 09:46:05

标签: xpath

案文如下:

的text1
text2的

如何在xpath中指定此文本。我试过了:

.//* [@ id ='someid'] // h6 [text()='text1text2]

.//* [@ id ='someid'] // h6 [text()='text1 \ ntext2]

.//* [@ id ='someid'] // h6 [text()='text1 text2]

他们都没有工作

4 个答案:

答案 0 :(得分:1)

使用WordNet。这假设您正在编写XSLT或XForms内部的路径,您可以使用.//*[@id='someid']//h6[. = 'text1
text2']来转义换行符。如果您不使用XSLT,您可能想告诉我们您使用XPath的主机语言(例如PHP,C#,Java)。

答案 1 :(得分:1)

不是很优雅,但它有效

.//*[@id='someid']//h6[contains(text(), 'text1') and contains(text(), 'text2')]

答案 2 :(得分:1)

这是工作代码

   .//*[@id='someid']//h6[. = 'text1text2']

谢谢。

答案 3 :(得分:0)

您可以使用normalize-space()删除换行符,并在没有此问题的情况下比较文字。

//*[@id='someid']//h6[normalize-space(text()) ='text1 text2']