Jaxb-包含期间使用rootElement生成类

时间:2018-08-22 15:13:17

标签: java xml xsd jaxb2

这是我的问题: 我正在使用JaxB用.xsd文件生成Java类。 我想生成一个看起来像这样的类:

@XmlRootElement(name = "A", namespace = "namespace")
public Class A {
    @XmlElement(namespace = "namespace", required = true)
    protected B b;
}

@XmlRootElement(name = "B", namespace = "namespace")
public Class B {
    @XmlElement(namespace = "namespace", required = true)
    protected String string;
}

我的xsd是:

A:

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="namespace">
    <xs:import schemaLocation="b.xsd" namespace="namespace"/>
    <xs:element name="a">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="b" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </element>
</xs:schema>

B:

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
                       targetNamespace="namespace">

    <xs:element name="b">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="string" type="xs:string" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

当然,这是一个例子,类A具有更多参数...

我的问题是,当JaxB生成类时,只有类A具有@XmlRootElement ...但是我也需要类B也具有它。

有什么主意吗? :)

谢谢!

0 个答案:

没有答案