gpt4 book ai didi

xml - 忽略 XML 模式中的父元素

转载 作者:行者123 更新时间:2023-12-04 06:33:54 24 4
gpt4 key购买 nike

我有一个如下所示的 xml 文件:

<RootItem>
<Items>
<Item />
<Item />
<Item />
</Items>
<Values>
<Value />
<Value />
<Value />
</Values>
<AnotherItem />
</RootItem>

我正在使用 Trang 将其转换为 .xsd 模式,并使用 xjc 将模式转换为带注释的 Java 类(与 jaxB 一起顺利地编码和解码我的文档)我唯一的问题是 xjc 给了我这些类:
  • RootItem.java
  • 项目.java
  • 项目.java
  • Values.java
  • Value.java
  • ObjectFactory.java(JaxB 需要)

  • 我不想要“项目”或“值”类。如何格式化我的架构以告诉它忽略父元素并在我的 RootItem 类中创建一个“列表项”对象?

    我想要的是:
  • RootItem.java
  • 项目.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>

    最佳答案

    您总是可以从 Java 类开始。您可以使用@XmlElementWrapper 来获取分组元素“Items”和“Values”。

    笔记:
    JAXB 不需要对象工厂。 JAXB 可以利用像 ObjectFactory 这样用 @XmlRegistry 注释的类上的元数据。

    关于xml - 忽略 XML 模式中的父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5070982/

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