gpt4 book ai didi

java - Hyperjaxb:通过 XML 属性排除 XML 元素

转载 作者:搜寻专家 更新时间:2023-11-01 03:48:08 28 4
gpt4 key购买 nike

我有一个预定义的 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,我使用了以下外部绑定(bind):

<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>

关于java - Hyperjaxb:通过 XML 属性排除 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37612025/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com