我正在使用XSD架构文件(我无法更改)将元素XXX定义如下:
<xsd:element name="XXX" type="Date" minOccurs="0"/>
这会在生成的类中生成java.util.Date。
我需要更改字段编组为XML的方式:如果属性为null,我想生成一个空标记,就像xsd是:
<xsd:element name="XXX" type="Date" minOccurs="0" nillable=true/>
这会在生成的类中生成JaxbElement。
是否可以通过Jaxb绑定做这样的事情?
问候
Giulio的
答案 0 :(得分:3)
是的,你可以..但不是一个好习惯。
<bindings node="//xs:element[@name='XXX']">
<property name="xxx">
<baseType>
<javaType name= "javax.xml.bind.JAXBElement<java.util.Date>"/>
</baseType>
</property>
</bindings>
您还应在<javaType>
See here Documentation
答案 1 :(得分:3)
建议:
nillable
。jaxb2-simplify-plugin
并使用simplify:as-reference-property
自定义您的元素。我实际上从未尝试过,但也许它会起作用。PS。我是上述jaxb2-simplify-plugin的作者。