gpt4 book ai didi

java - 如何使用 XPATH 从 XML 中获取值

转载 作者:行者123 更新时间:2023-11-29 08:34:38 27 4
gpt4 key购买 nike

这是我的 xml,我想获取 ID 标记“4654”的值

<Entity>
<acc>
<id>4654</id>
<name>abc</name>
</acc>
<acc>
<id>5465</id>
<name>xyz</name>
</acc>

我正在使用这段代码来检索 Id 值

       DocumentBuilderFactory factory =    DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xml)));
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList node = (NodeList) xPath.evaluate("/Entity/acc/id/text()", document, XPathConstants.NODE);
System.out.println("node length:"+node.getLength());
System.out.println("node value:"+ node.item(0).getNodeValue());
return node.item(0).getNodeValue();

输出返回空

任何帮助将不胜感激

最佳答案

您需要使用 XPathConstants.NODESET 而不是 XPathConstants.NODE

或者您可以将其保留为 XPathConstants.NODE 并将评估更改为返回 Node

Node node = (Node) xPath.evaluate("/Entity/acc/id/text()", document, XPathConstants.NODE);

关于java - 如何使用 XPATH 从 XML 中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45066749/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com