java - XPath Count 函数始终返回 0.0

标签 java xml xpath domdocument

我正在使用下面的 xml 来获取标签“c”的计数。

<?xml version='1.0' encoding='UTF-8'?>
<xyz xmlns=".....">
<a>
  <b>
    <c>X:1 Y:0</c>
    <c>X:1 Y:0</c>
    <c>X:2 Y:0</c>
  </b>
  <b>
    <c>X:1 Y:0</c>
    <c>X:2 Y:0</c>
  </b>
</a>
</xyz>

下面是我的java代码:

xpath = factory.newXPath();
xpr = xpath.compile("count(//xyz/a/b/c)");
System.out.println(xpr.evaluate(inputSource, XPathConstants.NUMBER));

但是上面的代码总是返回0.0

我做错了什么吗?

最佳答案

如果要统计本地名称为xyz的元素,表达式应该如下:

XPathExpression xpr = xpath.compile("count(//*[local-name()='xyz']/*[local-name()='a']/*[local-name()='b']/*[local-name()='c'])");

Demo.

关于java - XPath Count 函数始终返回 0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150711/

相关文章:

java - 相乘,最小数和最小数的位置

java - 使用 Leiningen 制作 uberjar 时如何针对特定版本的 java

python - xml 属性的顺序

java - 如果 Saxon 在 CLASSPATH 上,命名空间未知的 XPath 表达式失败

java - Camel ..使用xpath解析消息正文中的xml

java.exe 进程使用了​​更多内存并且没有释放它

java - 无法使用 java 8 连接到 sql server

xml - 提取存储在 postgresql 表中的 XML 文件

c# - 使用 C# 生成 XML 文档

css - 通过 nokogiri 和 xpath 解析图像