2
我們有一些具有JAXB註釋的實體,以便我們可以將一些「傳入」XML解組到pojo中。我們現在需要將pojos編組爲XML,但與傳入的xml格式不同。這樣做的最好方法是什麼?您是否可以擁有多組JAXB註釋以對不同的XML進行編組/解組?
我們有一些具有JAXB註釋的實體,以便我們可以將一些「傳入」XML解組到pojo中。我們現在需要將pojos編組爲XML,但與傳入的xml格式不同。這樣做的最好方法是什麼?您是否可以擁有多組JAXB註釋以對不同的XML進行編組/解組?
我的解決方案是在JAXB對象中使用額外的「版本」字段來區分綁定的多個版本。通常,我使用enum作爲它的類型,即 enum版本{V1,V2,...};
因此,對於一個特定的XML元素字段,我定義了getfield命令()方法
@XmlElement
public String getField() {
if (version == Version.V1) {
return field;
} else if (version == Version.V2) {
return null; // hidden
}
}
編組前,一個只需要設置的版本值所需枚舉值,和JAXB會照顧其餘的部分。
[多個客戶端需要不同的JAXB批註]的可能重複(http://stackoverflow.com/questions/8838286/multiple-clients-require-different-jaxb-annotations) – dogbane