我仔細研究了"JAXB Adding attributes..."的討論,並想進一步推進。JAXB - 爲不同的元素添加相同的屬性
例如,有下面的類:
@XmlRootElement(name = "company")
@XmlType(propOrder = {"id", "name", "address"})
public class Company {
private String id;
private String name;
private String address;
@XmlElement(name = "id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@XmlElement(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElement(name = "address")
public String getAddress() {
return name;
}
public void setAddress(String address) {
this.address = address;
}
}
編組對象後,我們有:
<company>
<id>1</id>
<name>Abc</name>
<address>Mountain View, United States</address>
</company>
是否有一個優雅的解決方案, - 例如使用註釋@XmlPaths
,@XmlPath
,@XmlElements
,@XmlElement
, - 因此收到:
<company>
<id>1</id>
<name lang="en">Abc</name>
<address lang="en">Mountain View, United States</address>
</company>
您提供的鏈接中的解決方案有什麼問題。 – ulab
如果您使用的是MOXy,請瀏覽http://blog.bdoughan.com/2011/03/map-to-element-based-on-attribute-value.html。 –