簡體   English   中英

您是否可以使用多組JAXB注釋來編組/解組為不同的XML?

[英]Can you have multiple sets of JAXB annotations to marshal/unmarshal to different XML?

我們有一些帶有JAXB批注的實體,因此我們可以將一些“傳入” XML編組到pojo。 現在,我們需要將pojos編組為XML,但格式要不同於傳入的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將負責其余的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM