gpt4 book ai didi

java - 在 Java SimpleXML 库中设置路径时如何使用 XML 元素的值?

转载 作者:行者123 更新时间:2023-11-29 09:11:18 25 4
gpt4 key购买 nike

我有以下 XML:

<rdr>
<details>
<detail>
<name>version</name>
<value>15.0</value>
</detail>
<detail>
<name>resolution</name>
<value>1080X1920</value>
</detail>
</details>
</rdr>

我正在将其编码到以下 Java bean 中:

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Path;
import org.simpleframework.xml.Root;

@Root(name = "rdr", strict = false)
public class XmlBean {

@Path("details/detail[1]")
@Element(name = "value")
private String version;

@Path("details/detail[2]")
@Element(name = "value")
private String resolution;

public String getVersion() {
return version;
}

public void setVersion(String version) {
this.version = version;
}

public String getResolution() {
return resolution;
}

public void setResolution(String resolution) {
this.resolution = resolution;
}

}

我使用简单的 XML,版本 2.6.6 来实现:http://simple.sourceforge.net/

但是,我想做的是在 XPath 中使用名称元素。例如,我不想使用路径“details/detail[1]”,而是使用“details/detail[name=version]”。这不起作用,我得到一个 org.simpleframework.xml.core.PathException: Invalid index for path exception returned。我尝试过带有 ' 的周围版本无济于事。根据我对 XPath 的理解,这是正确的语法:http://www.w3schools.com/xpath/xpath_syntax.asp谁能确认这看起来是正确的?

我查看了简单 xml 库的源代码,它在不使用第 3 方库的情况下自行处理 XPath。我明白为什么它不起作用,因为它只接受数字并且会为任何不是数字的字符抛出该异常。

我很想修复这个库,但怀疑我做错了什么,可能还有我应该使用的另一个注释或一些其他语法。

我可以使用另一个注解来实现我想要做的事情吗?是否可以使用 Simple 来完成我想做的事情?

最佳答案

这是它在 xpath 中的样子:/rdr/details/detail[name='version']/value/text()

也许可以试试:

@Path("details/detail[name='version']")
@Element(name = "value")
private String resolution;

见''它需要知道这是文本

关于java - 在 Java SimpleXML 库中设置路径时如何使用 XML 元素的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12298673/

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