java - 您可以有多组 JAXB 注释来编码/解码为不同的 XML 吗?

标签 java xml jaxb

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

最佳答案

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

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

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

}

在编码之前,只需将版本值设置为所需的枚举值,JAXB 会处理剩下的事情。

关于java - 您可以有多组 JAXB 注释来编码/解码为不同的 XML 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397998/

相关文章:

java - 同时逐行读取两个文本文件-java

android - ActionMode Bar 的所有图标都没有在 Android 中显示?

java - 如何从列表 <String> 中删除换行符

java - JAXB 截断长值

java - 多部分/表单数据 Restful 请求

java - tomcat 5.5升级到tomcat 7.0需要重新编译所有JSP文件吗

Ruby 中的 Java 兼容 REST 客户端

java - 为什么当我进入或退出 JDialog 时,mouseExited 和 mouseEntered 方法同时运行?

javascript - Jquery 跳到最后一个 XML 子级

java - 移除 ns2 作为默认命名空间前缀