当XPath出现在HTML文档的文本中时,似乎XPath无法识别该符号。
.//*[contains(text(), '®')]
.//*[contains(text(), '®')]
.//*[contains(text(), 'U+00AE')]
.//*[contains(text(), '®')]
在带有多个®实例的页面上,这些操作都不使用chrome中的检查器返回结果。
有人遇到过这个问题吗? xpath如何找到®?
答案 0 :(得分:1)
此XPath,
$x("//text()[contains(.,'®')]")
在此页面上返回7个包含®
的文本节点(在我回答之前就是这样)。
答案 1 :(得分:1)
此字符的Unicode代码为x2122,因此,如果要使用数字引用,则应为™
或™
。
代码xAE和174是Windows-1252表示字符的方式;就XML和XPath而言,这完全不相关。
我不知道您是从哪里想到编写U + 00AE的,这似乎只是一厢情愿。
当然,该字符有可能在XML文件中被错误编码。文件中字符实际使用的编码需要与文件开头XML声明中声明的编码匹配。