Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以将多组JAXB注释封送/解封送到不同的XML?_Java_Xml_Jaxb - Fatal编程技术网

Java 是否可以将多组JAXB注释封送/解封送到不同的XML?

Java 是否可以将多组JAXB注释封送/解封送到不同的XML?,java,xml,jaxb,Java,Xml,Jaxb,我们有一些带有JAXB注释的实体,因此我们可以将一些“传入”XML解组到pojo。我们现在需要将POJO封送到XML,但格式与传入的XML不同。最好的方法是什么?我的解决方案是在JAXB对象中使用一个额外的版本字段来区分绑定的多个版本。通常,我使用enum作为其类型,即。, 枚举版本{V1,V2,…} 因此,对于特定的XML元素字段,我将getField方法定义为 @XmlElement public String getField() { if (version == Version.

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

我的解决方案是在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将处理其余部分。

我的解决方案是在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将处理其余部分。