gpt4 book ai didi

java - JAXB 没有按预期编码

转载 作者:行者123 更新时间:2023-11-29 03:54:52 27 4
gpt4 key购买 nike

我的一个 friend 让我发布这个问题:

编辑:他决定在这里自己发布问题:JAXB Unmarshalls XML Incorrectly我试图删除这个问题,但不能。

我正在尝试编码一个名为 MyContainer 的 Java 类.这个类扩展了我的另一个类,称为 Container . Container有一个名为:protected List<ResourceReference<Component>> child 的变量

唯一的变量MyContainer has 是它从 Container 继承的那个.这List ,但是,当我将 child 列为 XmlList 时,不会使用 JAXB 编码.

它将编码为 XmlElement ,但这不是我想要显示数据的方式。当它被编码为 XmlElement 时, 它列出了 List 中的属性,但不是“继承”它只是列出两个元素,就好像它们是类的属性,而不是属于子列表。

如何让 Jaxb 编码 List (它被实例化为 ArrayList)正确吗?

编辑:这是一个例子:这就是我得到的:

<MyContainer name="Container Name">
<booleanVal>false</booleanVal>
<child id="Test Comp 1"/>
<child id="Test Comp 2"/>
</and>

这更符合我的期望:

<MyContainer name="Container Name">
<booleanVal>false</booleanVal>
<child> /// This would be the class variable of the extended Class, Container
<ResourceRef id="Entry 1">
<ResourceRef id="Entry 2">
</child>
</and>

诚然,我目前的结果可能来自标有@XmlElement 注释的Container 中的List。但是,JAXB 不会编码任何其他内容。

最佳答案

使用 @XmlElementWrapper 注释您的列表。参见 javadoc .

关于java - JAXB 没有按预期编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6915201/

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