JAXB编组 - 扩展现有类

ris*_*ide 4 jaxb marshalling base-class

我需要使用JAXB通过XML创建一系列Java对象,这些对象都扩展了已创建的公共基类(不使用JAXB).例如,假设我有以下我正在尝试生成的JAXB类:

Penguin.xml  -> Penguin.java
Robin.xml -> Robin.java
Cardinal.xml -> Cardinal.java
Run Code Online (Sandbox Code Playgroud)

我已经有一个现有的基类Bird.java,我希望上面的三个类能够扩展.

做这个的最好方式是什么?

谢谢你的帮助!

dma*_*a_k 7

这很简单:您需要创建一个包含以下内容的JAXB绑定文件:

<jaxb:bindings version="1.0"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
>

    <jaxb:globalBindings>
        <!-- All beans should extend this base class: -->
        <xjc:superClass name="org.mycompany.common.Bird" />
    </jaxb:globalBindings>

</jaxb:bindings>
Run Code Online (Sandbox Code Playgroud)

有关此选项(以及其他甜食)的更多信息,请点击此处.