gpt4 book ai didi

java - 如何在 Java 中使用 XPath 查询选择元素的属性值并将其放入字符串中?

转载 作者:行者123 更新时间:2023-12-01 13:43:18 25 4
gpt4 key购买 nike

我对 Java XPath 查询还很陌生,但遇到以下问题:

我有一个 org.jdom.Document documentXML 变量,其中包含以下 XML 内容:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<status>
<id>0</id>
<message>Operazione conclusa con successo</message>
</status>
<drivers>
<drive id="MyID">
<propery1 />
<property2 />
<property3 />
<property4>0</property4>
<sproperty5>104857600</property5>
<property6 />
</drive>
</drivers>
</root>

我必须选择id属性中的值并将其放入字符串中(因此我必须将“MyID”值放入字符串中)

在Java中我必须这样做(不起作用):

org.jdom.output.XMLOutputter xmlOutputterCDATAContent = new org.jdom.output.XMLOutputter(org.jdom.output.Format.getPrettyFormat());

xmlOutputter.output(documentXML, System.out);

xPath = XPath.newInstance("/root/drivers/drive/@id");
objectElement = (Element) xPath.selectSingleNode(documentXML);
driveId = objectElement.getValue();
System.out.println("ID " + objectElement.getValue() + " /ID");

因此,正如您所看到的 documentXML 变量包含之前的 XML 代码

我创建一个XPath查询来访问驱动器节点的id属性的值,然后尝试将该值放入driveId(这是一个 String 对象)

但是这种方式行不通,当我运行此代码时,我收到以下错误消息:

java.lang.ClassCastException: org.jdom.Attribute cannot be cast to org.jdom.Element

有什么问题吗?我缺少什么?怎么解决?

Tnx

安德里亚

最佳答案

就像您已经提到的,您想要获取的 id 是一个属性

因此,您只需将转换从 org.jdom.Element 更改为 org.jdom.Attribute。然后您可以调用driveId.getValue()来获取id的字符串值。

关于java - 如何在 Java 中使用 XPath 查询选择元素的属性值并将其放入字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20523261/

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