如何使用xjc和自定义绑定生成XMLElementWrapper批注

问题描述

Bjarne Hansen为xjc开发了一个插件,可以解决此问题。不幸的是,到原始实现的链接现在已失效。但是,Dmitry Katsubo在github上有一个项目,该项目基于Bjarne的原始代码并进行了一些其他改进。

https://github.com/dmak/jaxb-xew-plugin

(仅供参考:原始链接,现已失效:http : //www.conspicio.dk/blog/bjarne/jaxb- xmlelementwrapper-plugin)

解决方法

我正在使用JAXB和xjc将XML Schema编译为Java类。我不想手动编辑此生成的类。我有这样的xml模式:

<xs:element name="root">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="items">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="item" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

xjc生成Items仅包含Item对象列表的类。是否有机会省略该类ItemsItem直接在Root该类中具有对象列表?

我知道可以通过@XMLElementWrapper注释来完成,但是我不知道如何告诉xjc创建此类注释。

感谢您的任何建议!

最好的问候,马库斯