场景,XML示例:
<outer>
<inner />
</outer>
我需要使用Mavens Jaxb插件,只要它会从xsd生成xml。模式声明外部元素必须出现一次,内部元素必须出现minoccurs 0.内部元素也有属性,也是minoccurs 0.元素不仅仅是一个值,它使它成为一个类。我正在接收示例xml,并且在进行解组后,它将内部元素保存为&#34;空实例&#34;而不是null。当我再次进行编组时,我会收到验证错误,因为内部元素不会被忽略,尽管它是&#34; null&#34;在感。
我需要的是使用/&gt;制作这些元素的方法结束,没有别的东西被读作null,所以它们不会被编组或验证,只是被忽略,掉线,除非它们被指定发生。所以XML将被编组为简单:
<outer />
我读到有一些方法可以通过修改xml类(Create Null Object Unmarshalling Empty Element with JAXB和JAXB empty element unmarshalling)来实现这一点,但由于我的xml类是使用maven jaxb插件生成的,因此每次修改都会被覆盖。生成类的时间。
有没有办法用jaxb maven插件实现这个目的,还是有其他方法可以在生成的代码之上应用更改,以便轻松管理它们?其他建议也受到欢迎。收到的xml无法修改,结果必须符合我的描述。如果有一些东西可以添加到模式中以获得这种行为也是可以接受的。