【问题标题】:Can you have multiple sets of JAXB annotations to marshal/unmarshal to different XML?您可以使用多组 JAXB 注释来编组/解组到不同的 XML 吗?
【发布时间】:2012-05-01 13:03:43
【问题描述】:

我们有一些带有 JAXB 注释的实体,因此我们可以将一些“传入”XML 解组到 pojo。我们现在需要将 pojo 编组为 XML,但格式与传入的 xml 不同。这样做的最佳方法是什么?

【问题讨论】:

标签: java xml jaxb


【解决方案1】:

我的解决方案是在 JAXB 对象中使用额外的“版本”字段来区分多个版本的绑定。通常,我使用 enum 作为它的类型,即 枚举版本 {V1, V2, ...};

所以对于特定的 XML 元素字段,我将 getField() 方法定义为

@XmlElement
public String getField() {
    if (version == Version.V1) {
        return field;
    } else if (version == Version.V2) {
        return null; // hidden
    }

}

在编组之前,只需将版本值设置为所需的枚举值,其余的由 JAXB 处理。

【讨论】:

    猜你喜欢
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多