gpt4 book ai didi

java - 使用扩展现有类文件的 intellij(JAXB 插件)从 XSD 生成 java 类

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:11 24 4
gpt4 key购买 nike

我有这个 XSD 文件:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.example.com/dnavigator"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:dn="http://www.example.com/dnavigator"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
jaxb:version="2.0">

<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings enableJavaNamingConventions="true"/>
</xs:appinfo>
</xs:annotation>

<xs:element name="DynamicNavigators">

<xs:complexType>

<xs:sequence>

<xs:element name="DynamicNavigator"
type="dn:DynamicNavigator"
minOccurs="1"
maxOccurs="unbounded">

<xs:annotation>

<xs:documentation>

</xs:documentation>

<xs:appinfo>
<jaxb:property name="DynamicNavigators"/>
</xs:appinfo>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:complexType name="DynamicNavigator">

<xs:sequence minOccurs="0"
maxOccurs="unbounded">

<xs:element name="example"
type="xs:string"
minOccurs="1"
maxOccurs="1"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

我希望将生成的类 DynamicNavigator 扩展类 com.example.MyClass

我该怎么做?

谢谢。

最佳答案

JAXB 只为 complexTypes 创建对象,所以不要将 complexTypes 包装在 'xs:element' 标签中。尝试在 complexType 中使用“xs:element ref”,而不是在 complexType 中创建新元素。例如:

<xs:complexType name="DynamicNavigatorsType">
<xs:sequence>
<xs:element ref="dn:DynamicNavigator" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="DynamicNavigatorType">
<xs:sequence>
<xs:element ref="dn:example"/>
</xs:sequence>
</xs:complexType>

<xs:element name="DynamicNavigator" type="dn:DynamicNavigatorType"/>
<xs:element name="example" type="xs:string"/>

关于java - 使用扩展现有类文件的 intellij(JAXB 插件)从 XSD 生成 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6851191/

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