【发布时间】:2010-10-29 18:19:10
【问题描述】:
我正在尝试使用 JAXB 生成类似的东西:
<person>
<firstName>Foo</firstName>
<lastName>Bar</lastName>
<identities>
<green id="greenId">
<some_elements....
</green>
<blue id="blueId"/>
</identities>
<identities> 的子元素都源于一个共同的超类。
在 Java 中是这样的:
@XmlRootElement(name = "person")
public class Person {
public String firstName;
public String lastName;
@XmlElementWrapper(name = "identities")
public Set<Identity> identities = new HashSet<Identity>();
}
其中Identity 是Blue、Green 和其他一些的超类。
public class Identity {
@XmlID
@XmlAttribute
public String id;
}
@XmlRootElement(name = "blue")
public class Blue extends Identity {
public String oneOfManyFields;
}
@XmlRootElement(name = "green")
public class Green extends Identity {}
如何正确注释类以获得我需要的内容?目前,输出是这样的:
<identities>
<identities id="0815"/>
</identities>
【问题讨论】:
标签: java collections jaxb