【发布时间】:2011-08-02 16:17:49
【问题描述】:
我的一个朋友让我发布这个问题:
编辑:他决定在这里自己发布问题:JAXB Unmarshalls XML Incorrectly 我试图删除这个问题,但不能。
我正在尝试编组一个名为 MyContainer 的 java 类。这个类扩展了我的另一个类,叫做Container。 Container 有一个变量叫做:protected List<ResourceReference<Component>> child
MyContainer 的唯一变量是它从 Container 继承的变量。但是,当我将孩子列为 XmlList 时,此 List 不会与 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 中的列表。但是,JAXB 不会编组其他任何东西..
【问题讨论】:
-
很难理解你的问题。你能给出你得到的 XML 样本和你想要的另一个 XML 样本吗?
标签: java xml jaxb marshalling