Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaXPath返回单个结果而不是节点集_Java_Xml_Dom_Xpath - Fatal编程技术网

JavaXPath返回单个结果而不是节点集

JavaXPath返回单个结果而不是节点集,java,xml,dom,xpath,Java,Xml,Dom,Xpath,我正在尝试用Java创建一个XPath表达式(8,默认XPath实现)。我正在做以下工作: Object res = xpath.evaluate("(//*[local-name()='PartyId'])", requestDom, XPathConstants.NODESET); 我在同一级别的文档中有多个PartyId节点,因为它的父节点是重复的。我得到了结果,但只有一个节点。(第一) 旁白:如果我在表达式末尾写[$k],比如[1]或[2],我得到了我的元素,但我需要所有元素:( 但是

我正在尝试用Java创建一个XPath表达式(8,默认XPath实现)。我正在做以下工作:

Object res = xpath.evaluate("(//*[local-name()='PartyId'])", requestDom, XPathConstants.NODESET);
我在同一级别的文档中有多个PartyId节点,因为它的父节点是重复的。我得到了结果,但只有一个节点。(第一)

旁白:如果我在表达式末尾写[$k],比如[1]或[2],我得到了我的元素,但我需要所有元素:(

但是,如果我在测试同一个XPath,例如在,我会得到多个结果,这是预期的结果。 有什么想法吗

p、 我试图将Saxon放在类路径上,但它完全破坏了我的应用程序(SpringBootWS)

非常感谢

更新
我未能正确检查结果,结果完全正确。

我猜您在处理结果
节点列表时出错。请尝试以下方法:

NodeList results = (NodeList) xpath.evaluate(..);
for (int i = 0; i < nodelist.getLength(); i++) {
    Node node = (Node) nodelist.item(i);
    ...
}
nodelistresults=(NodeList)xpath.evaluate(…);
for(int i=0;i
您能展示告诉您只得到一个节点的java代码吗?以及您的XML文件的一些示例。@LarsH我用调试器工具检查了输出,但可能我误解了我看到的内容-现在检查。将提供更新