我们有一些带有 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/