繁体   English   中英

JAXB不像预期的那样马歇尔

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM