我不知道为什么 xpath 表达式:
//h3[text()='Foo › Bar']
Run Code Online (Sandbox Code Playgroud)
不匹配:
<h3>Foo › Bar</h3>
Run Code Online (Sandbox Code Playgroud)
这看起来对吗?如何查询该标记?
XPath 没有定义任何特殊的转义序列。当 XPath 在 XSLT 中使用时(例如在 XSLT 文档的元素的属性中),转义序列由读取样式表的 XML 处理器处理。如果您通过库在非 XML 上下文(例如来自 Java 或 C# 或其他语言)中使用 XPath,并且您的 XPath 查询是该语言中的字符串文字,则除了语言本身之外,您将不会获得任何转义处理通常会。
如果这是 C# 或 Java,这应该可以工作:
String xpath = "//h3[text()='Foo \u8250 Bar']";
...
Run Code Online (Sandbox Code Playgroud)
作为一个侧面说明,它不会在XSLT工作无论是作为XSLT使用XML,它并没有定义字符实体›-它只定义<,>,",'和&。您必须艐在 XSLT 样式表的 DOCTYPE 声明中使用或自己定义字符实体。
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |