Jaxb为空值生成空标记

时间:2015-10-21 12:31:32

标签: java xml jaxb

我正在整合两个使用XML服务交换数据的系统。接口由其他方提供,我们使用JAXB生成Java类。 我完成了整合并且工作正常。

问题:我们有复杂的XML结构,一些元素和复杂元素是可选的。当我们发回时,显然它们是null,所以Jaxb不会发送为空标签。其他系统需要那些空标签(可能用于审核)

我正在使用Java / JAXB来完成我的工作。

请帮我快速通用解决方案,我可以申请我的所有服务。

1 个答案:

答案 0 :(得分:0)

在XSD中,我们有一个名为nillable的属性,通过指定此JAXB认为是Null值的元素。 好吧,我可以说“从服务的角度来看,元素不再是可选的,因为Jaxb肯定会生成元素”。即使您在XMLSPY中检查XSD,您也可以看到该元素不是可选的。基本上Jaxb将空值视为有效值。

现在有另一种情况不会解决复杂的可选元素。我的意思是,如果任何人想要生成具有空值的多级可选元素,则JAXB将父级视为Nillable并忽略子元素。我不确定JAXB如何在这里工作。