我正在用 Java 编写 XPath 表达式,并试图获取具有特定 GUID 的所有元素。基本上,我在做:
(NodeList) xpath.evaluate("//object[guid="+ guid + "]", objectDoc, XPathConstants.NODESET);
带有 GUID:
eb52a56c-2a16-4256-ab0c-523cb6d19a3f
XPath 抛出一个错误:
eb52a56c-2a16-4256-ab0c-523cb6d19a3f could not be formatted to a number!
我认为这是因为破折号。我错了吗?如果没有,有没有办法摆脱他们?我通过 Google 发现了 XPath 中转义字符的提及,但没有人提到破折号。
谢谢, 科迪
最佳答案
引用它。 "//对象[guid='"+ guid + "']"
关于Java XPath 将 '-' 解释为带 GUID 的减号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304889/