如何断言在要声明的字符串中包含单引号的xpath匹配?
This is my string with value '40' to be asserted.
我假设用\'
转义单引号字符,但这不起作用。
matches( //faultstring[1]/text(), 'This is my string with value \'40\' to be asserted.' )
这是如何正确完成的?
答案 0 :(得分:1)
试试这个
//faultstring[matches(text(),''')]
或
//faultstring[matches(text(),''')]
或
//faultstring[matches(text(),''')]
要获得更优雅的解决方案,请参阅此post
答案 1 :(得分:1)
我对这个问题的理解是,如果XPath表达式在XML文档中,则需要使用嵌套引号。
如果是这种情况,可以使用此XPath表达式:
$yourString = "This is my string with value '40' to be asserted."
基于XSLT的验证:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:copy-of select=
"/* = "This is my string with value '40' to be asserted.""/>
</xsl:template>
</xsl:stylesheet>
对以下XML文档应用此转换时:
<t>This is my string with value '40' to be asserted.</t>
评估XPath表达式并将此评估结果复制到输出中:
true