【发布时间】:2011-02-21 20:36:13
【问题描述】:
我有一个如下所示的 xml 文件:
<RootItem>
<Items>
<Item />
<Item />
<Item />
</Items>
<Values>
<Value />
<Value />
<Value />
</Values>
<AnotherItem />
</RootItem>
我正在使用 Trang 将其转换为 .xsd 架构,并使用 xjc 将架构转换为带注释的 Java 类(可与 jaxB 顺利地编组和解组我的文档)我唯一的问题是 xjc 给了我这些类:
- RootItem.java
- Items.java
- Item.java
- Values.java
- Value.java
- ObjectFactory.java(JaxB 需要)
我不想要“Items”或“Values”类。如何格式化我的架构以告诉它忽略父元素并在我的 RootItem 类中创建一个“列表项”对象?
我想要什么:
- RootItem.java
- Item.java
- Value.java
- ObjectFactory.java(JaxB 需要)
谢谢!
编辑:这是 Trang 生成的架构:
<xs:element name="RootItem">
<xs:complexType>
<xs:sequence>
<xs:element ref="Items"/>
<xs:element ref="Values"/>
</xs:sequence>
<xs:element name="AnotherItem" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="Items">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="Item"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Values">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="Value"/>
</xs:sequence>
</xs:complexType>
</xs:element>
【问题讨论】:
-
向我们展示 XML 架构,我们会建议如何更改它。
-
我添加了 Trang 当前生成的 XML 模式