[英]JAXB Does not Marshall as Expected
我的一个朋友让我发这个问题:
编辑:他决定在他自己发布这个问题: JAXB Unmarshalls XML错误地我试图删除这个问题,但不能。
我正在尝试编组一个名为MyContainer
的java类。 这个类扩展了另一个名为Container
类。 Container
有一个名为: protected List<ResourceReference<Component>> child
的变量
MyContainer
唯一的变量是它从Container
继承的变量。 但是,当我将子列表作为XmlList
时,此List
将不会与JAXB编组。
它将作为XmlElement
编组,但这不是我想要显示数据的方式。 当它作为XmlElement
编组时,它列出了List
中的属性,但不是'heirarchially'它只列出了两个元素,就好像它们是类的属性一样,而不是属于子列表。
如何让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>
我承认,我当前的结果可能来自于Container中的List,标有@XmlElement注释。 但是,JAXB不会对其他任何东西进行编组。
使用@XmlElementWrapper
注释您的列表。 见javadoc 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.