繁体   English   中英

xjc生成的JAXB的问题

[英]Issue with JAXB generated with xjc

对于以下xsd,JAXB存在问题:

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


        <xs:complexType name="data">
            <xs:sequence  maxOccurs="2">
                <xs:element name="indg1" type="xs:string"/>
                <xs:element name="indg2" type="xs:string"/>
                <xs:element name="indg3" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>

    <xs:element name="sample" type="data" />
</xs:schema>

生成以下类:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "data", propOrder = {
    "indg1AndIndg2AndIndg3"
})
public class Data {

    @XmlElementRefs({
        @XmlElementRef(name = "indg1", type = JAXBElement.class),
        @XmlElementRef(name = "indg2", type = JAXBElement.class),
        @XmlElementRef(name = "indg3", type = JAXBElement.class)
    })
    protected List<JAXBElement<String>> indg1AndIndg2AndIndg3;

    public List<JAXBElement<String>> getIndg1AndIndg2AndIndg3() {
        if (indg1AndIndg2AndIndg3 == null) {
            indg1AndIndg2AndIndg3 = new ArrayList<JAXBElement<String>>();
        }
        return this.indg1AndIndg2AndIndg3;
    }

}

我期望的是带有List<Data>的名称为“ Sample”的类。 您能告诉我该怎么做,以及为什么上面的行为是这样吗?

查看生成的类ObjectFactory。 它包含一种使用Data类实例创建元素样本的方法。 文档的顶层元素不需要自己的类。

之所以会得到这个奇怪的List<JAXBElement<String>>是因为您重复了一系列异类元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM