2012-05-01 26 views
2

我們有一些具有JAXB註釋的實體,以便我們可以將一些「傳入」XML解組到pojo中。我們現在需要將pojos編組爲XML,但與傳入的xml格式不同。這樣做的最好方法是什麼?您是否可以擁有多組JAXB註釋以對不同的XML進行編組/解組?

+1

[多個客戶端需要不同的JAXB批註]的可能重複(http://stackoverflow.com/questions/8838286/multiple-clients-require-different-jaxb-annotations) – dogbane

回答

0

我的解決方案是在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會照顧其餘的部分。

相關問題