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

如何在Java中使用XPath读取子XML

汪晨
2023-03-14

XML文件为:

Xml文件

我编写的代码:

列表queryXmlUsingXpathAndReturnList(String xml,String xpathExpression){

DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance()

DocumentBuilder dBuilder=dbfactory.newDocumentBuilder()

Document doc=dbuilder.parse(new ByteArrayInputStream(Xml.GetBytes(StandardCharSets.utf_8)))

Doc.GetDocumentElement().Normalize()

XPath XPath=XPathFactory.NewInstance().NewXPath()

NodeList NodeList=(NodeList)XPath.Compile(xpathExpression).evaluate(doc,XPathConstants.nodeset)

List returnElements=new ArrayList<>()

nodelist.each{n->

ReturnElements.Add(n.GetTextContent())

}

当我将xpath传递为:

/Envelope/Body/CommandResponseData/OperationResult/Operation/ParameterList/ListParameter/StringEle

但它将列表html" target="_blank">返回为NULL。

共有1个答案

百里疏珂
2023-03-14

我猜您在XPath表达式中的“CommandResponseData”和“OperationResult”之间遗漏了“CommandResult”。

 类似资料:
  • 问题内容: 如何在Java中使用XPath读取XML? 问题答案: 你需要遵循以下要求: 然后,调用传入该代码中定义的文档和所需的返回类型,并将结果转换为结果的对象类型。 如果你需要有关特定XPath表达式的帮助,则可能应该将其作为单独的问题进行询问(除非首先是你的问题-我理解你的问题是如何在Java中使用API​​)。 此XPath表达式将为你提供下第一个URL元素的文本: 这将使你获得第二个:

  • 问题内容: 我想使用Java中的XPath读取XML数据,因此对于我收集的信息,我无法根据需要解析XML。 这是我想做的: 通过其URL从联机获取XML文件,然后使用XPath对其进行解析,我想在其中创建两个方法。一种是输入特定的节点属性ID,然后得到所有的子节点,第二种是假设我只想获得一个特定的子节点值 在上面的示例中,如果我通过@name搜索,我想读取所有元素,并且我想只从@name’Java

  • 问题内容: 我有这个HTML代码: 而且我必须选择带有text 的标签所标识的WebElement 。我尝试一些解决方案,例如: 但是每个人都给我: 正确的语法是什么?有人能帮我吗? 问题答案: 您没有正确的XPath语法。您需要在要匹配的文本属性值周围加上引号。尝试:

  • 问题内容: 我正在尝试在Java中阅读excel。我有以下代码。 我导入了poi.3.6jar和poi.ooxml-3.6 jar。当我运行该程序时,出现以下错误消息。 我不明白为什么会出现此错误消息。请帮助我。 问题答案: 将文件添加到您的类路径。

  • 问题内容: 我需要使用Java读取XML文件。它的内容就像 是否有特殊的阅读器/ JAR,还是应该使用 FileInputStream进行 阅读? 问题答案: 另一个建议:尝试使用Commons消化器。这使您可以使用基于规则的方法非常快速地开发解析代码。有一个教程在这里和图书馆可在这里 我也同意Brian和Alzoid的观点,因为JAXB非常适合快速启动和运行。您可以使用JDK附带的xjc绑定编译

  • 我试图从XML文件中读入一些数据,但遇到了一些问题,我的XML如下所示: 我试图将这些值作为字符串读入Java程序,到目前为止,我已经编写了以下代码: 我正在努力读取和打印id、用户名等的值。