目前我的xml看起来像这样:
<Person>
<ID>e5b160d07</ID>
<Source>
<Name>HardImpact</Name>
</Source>
</Person>
我的JaxB看起来像:
@XmlRootElement(name="Person")
public class PersonDTO {
private String id;
private Source source;
@XmlElement(name="ID")
public void setId(String id) {...}
@XmlElement(name="Source")
public void setSource(Source source) {...}
}
@XmlRootElement(name="Source")
class Source {
private String name;
@XmlElement(name="Name", namespace=DTOConstants.cmnv3)
public void setName(String name) {...}
}
有没有更好的方法来使用注释来消除类Source的需要?修改传入的XML不是一种选择。
答案 0 :(得分:1)
AFAIK每个父标记应该是一个将子标记作为属性保存的实体。
因此,您的方法是一种干净,通用且首选的实现方法。没有自动创建Source类的标签
但是
您可以使用@XMLAnyElement
将Source
标记映射到对象类型。 Refer this example for more info on this tag.