当前位置: 首页 > 知识库问答 >
问题:

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

黄逸清
2023-03-14

我试图用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我得到了多个结果,这是预期的结果。有什么想法吗?

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

谢谢!

更新我没有正确检查结果,结果完全正确。

共有1个答案

尹小云
2023-03-14

我猜您在处理结果时出错了NodeList。尝试以下方法:

NodeList results = (NodeList) xpath.evaluate(..);
for (int i = 0; i < nodelist.getLength(); i++) {
    Node node = (Node) nodelist.item(i);
    ...
}
 类似资料:
  • 问题内容: (第一个问题制定得很厉害后,我再问我一个问题) 我面临以下问题: 上面编写的元素是预定义的。现在,我通过XMLHttpRequest&Co.加载xml树,并提供以下响应: 我现在追加第一个使用 进入预定义 最终文档如下所示(已使用开发工具检查): 现在,当我尝试使用元素时,会得到预期的结果。 但是使用退货。 我错过了什么?这可能是节点属于类型而不是类型的事实的残余吗? 问题答案: 这是

  • 问题内容: 背景 我正在尝试学习承诺,并且我有一个希望改进的承诺链。 问题 在学习如何链接承诺时,我看不到为什么有人愿意返回承诺而不是返回其价值。 以下面的示例为例,该示例使用了Promise链接: 在这里,我必须链接2次。但是,如果我直接从方法中返回结果而不是返回Promise,则可能会执行以下操作: 问题 如您所见,我有些困惑。 鉴于实际上是异步的,是否有可能实现与我的第二个代码示例中的代码相

  • 我正在尝试用Akka / Scala编写一个actor,调用HTTP REST API并将结果发送回调用actor。API 可能会返回结果的集合/向量,必须首先将其转换为内部供应商中性格式,以便将来可以更改供应商,而无需对代码进行太多更改。大多数代码都在工作,但我不知道如何解压缩并发送内部向量。 这是我拥有的代码,它向调用的Actor返回一个。我想返回的是最终操作中创建的实际向量: 主叫演员: 如

  • 使用:https://github.com/mafintosh/mongojs 查找所有内容 返回用户。看起来很棒 当我试图通过用户ID查找该用户时:failed 我知道数据库里有数据。我试过用不同的键(比如名称)搜索。为什么它找不到数据?

  • 我想从一个MariaDB数据库获取数据,并通过Maven安装了MariaDB JDBC连接器。下面的代码将数据的参数而不是实际的行/单元格数据添加到组合框中(请参见代码段,第10行)。这就是我要解决的问题。如果重要的话,我的表由1个int和4个varchar组成。 代码段(带行计数):

  • 我有一个 asp.net MVC 2 Web 应用程序在所有中间层控制器操作中,我捕获所有异常,记录,然后重新抛出异常。此重写由 JQuery Ajax 错误处理程序拾取 我正在通过JQuery进行一个ajax调用,如下所示 出于某种原因,jqXHR。responseText不再返回任何内容,我在解析responseText时遇到错误。我认为这可能是IIS设置,因为我们最近切换到新的Web服务器。