如何断言要断言的字符串中包含单引号的 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.' )
这是如何正确完成的?
我对这个问题的理解是,如果 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
尝试这个
//faultstring[matches(text(),''')]
或者
//faultstring[matches(text(),''')]
或者
//faultstring[matches(text(),''')]
有关更优雅的解决方案,请参阅此帖子