用于获取XSD和JAXB之后的任何类型及其子类型的数据的Java代码?

时间:2014-11-30 18:18:29

标签: java xml jaxb xsd

 <xsd:element name="Address">
     <xsd:complexType>
     <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="1"/>
     </xsd:sequence>
     </xsd:complexType>
 </xsd:element>

我有上面的xsd。如何在java类中定义它可以像它可以是永久地址或它可以是通信地址,它们也可以有子类型。我已经尝试过list和Iterator,但没有得到所有子子元素

2 个答案:

答案 0 :(得分:0)

xjc工具,这是JDK的一部分 使用 xjc ,您可以从 xsd 生成java类 例如。

xjc -p my.java.package MyXsdType.xsd   

您的element已生成

@XmlAnyElement(lax = true)
protected Object any;

public Object getAny() {
    return any;
}

public void setAny(Object value) {
    this.any = value;
}  
xjc

答案 1 :(得分:0)

通过添加标签@XmlSeeAlso

来实现它