2

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

4

1 回答 1

0

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

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

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

}

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

于 2012-06-01T05:05:20.960 回答