java – Hyperjaxb:按XML属性排除XML元素
发布时间:2020-12-15 02:15:01 所属栏目:Java 来源:网络整理
导读:我有一个预定义的XSD,如下所示: xs:element name="JavaClass1" xs:complexType xs:sequence ... xs:element name="Date1" type="xs:date" minOccurs="0" /xs:element xs:element name="DateList1" type="xs:date" minOccurs="0" maxOccurs="5" /xs:element
我有一个预定义的XSD,如下所示:
<xs:element name="JavaClass1"> <xs:complexType> <xs:sequence> ... <xs:element name="Date1" type="xs:date" minOccurs="0"> </xs:element> <xs:element name="DateList1" type="xs:date" minOccurs="0" maxOccurs="5"> </xs:element> ... </xs:sequence> </xs:complexType> </xs:element> 为了从XSD生成Java类,同时用java.util.Date替换XMLGregorianCalendar,我使用了以下外部绑定: <globalBindings> <javaType name="java.util.Date" xmlType="xs:dateTime" parseMethod="XsdDateTimeConverter.unmarshal" printMethod="XsdDateTimeConverter.marshalDateTime" /> <javaType name="java.util.Date" xmlType="xs:date" parseMethod="XsdDateTimeConverter.unmarshal" printMethod="XsdDateTimeConverter.marshalDate" /> </globalBindings> 我找到了这个解决方案here. 现在,我只需要为Date1属性而不是DateList1执行此操作.有没有办法如何使用它的属性maxOccurs =“5”排除DateList1? 解决方法
您可以在本地将javaType自定义应用于生成的属性.就像是:
<bindings node=".../xs:element[@name='Date1']"> <property> <baseType> <javaType .../> </baseType> </property> </bindings> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |