ai didi

Java XPath 返回单个结果而不是 NodeSet

转载 作者:行者123 更新时间:2023-11-30 03:22:32 24 4
gpt4 key购买 nike

我正在尝试在 Java 中创建 XPath 表达式(8,默认 XPath 实现)。我正在执行以下操作:

Object res = xpath.evaluate("(//*[local-name()='PartyId'])", requestDom, XPathConstants.NODESET);

我在同一级别的文档中有多个 PartyId 节点,因为它的父节点是重复的。我得到了结果,但只有一个节点。 (第一个)。

侧面信息:如果我在表达式末尾写上 [$k],例如 [1] 或 [2],我就得到了我的元素,但我需要所有这些元素。 :(

但是,如果我正在测试完全相同的 XPath,例如 http://www.freeformatter.com/xpath-tester.html我得到了多个结果,这是预期的结果。有什么想法吗?

附:我尝试将 Saxon 放在类路径上,但它完全破坏了我的应用程序(Spring-Boot WS)。

非常感谢!

更新我没能正确检查结果,它是绝对正确的。

最佳答案

我的猜测是您在处理结果NodeList时犯了一个错误。尝试以下方法:

NodeList results = (NodeList) xpath.evaluate(..);
for (int i = 0; i < nodelist.getLength(); i++) {
Node node = (Node) nodelist.item(i);
...
}

关于Java XPath 返回单个结果而不是 NodeSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31003982/

24 4 0
文章推荐: java - OSGi 中的回调和传递对象引用
文章推荐: java - 使用 fireTableRowsInserted(int,int) 更新模型和 JTable
文章推荐: java - 同时包含 HTML 和 JSP ViewResolvers
文章推荐: java - 无法在一维和二维数组值之间转换
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com