JAXB生成的类:忽略中间类

时间:2012-01-04 14:51:57

标签: jaxb

以下是我的XML架构的摘录:

<xsd:complexType name="MyType">
    <xsd:sequence>
        <xsd:element name="Numbers">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="Number" minOccurs="1" maxOccurs="5" type="xsd:decimal"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

JAXB为我生成以下类:

public class MyType {
    protected MyType.Numbers numbers;

    public static class Numbers {
        protected List<BigDecimal> number;
    }
}

但是我想忽略这个中级类,并且有类似的东西:

public class MyType {
    protected List<BigDecimal> number;
}

这有可能吗?

1 个答案:

答案 0 :(得分:3)

是的,只有借助外部插件才可以使用JAXB,因为这种修改实际上是模型的更改。看看@XmlElementWrapper plugin

注意:此论坛已经提出了同样的问题(How generate XMLElementWrapper annotationDealing with JAXB CollectionsJAXB List Tag creating inner class)。请先使用搜索。