complexType与Simple XML框架?

时间:2012-12-05 18:59:01

标签: java xml jaxb xsd simple-framework

如何将.xsd文件中的complexType转换为SimpleXML带注释的类结构。这是一个使用xjc.exe转换为JAXB的示例。不确定Simple框架的等效注释是什么。

模式:

<xsd:element name="PaymentTxnID">
    <xsd:complexType>
        <xsd:simpleContent>
            <xsd:extension base="IDTYPE">
                <xsd:attribute name="useMacro" type="MACROTYPE"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
</xsd:element>

JAXB生成:

public static class PaymentTxnID {
    @XmlValue
    protected String value;
    @XmlAttribute(name = "useMacro")
    protected String useMacro;

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getUseMacro() {
        return useMacro;
    }

    public void setUseMacro(String value) {
        this.useMacro = value;
    }
}

我如何用Simple来表示complexType?

1 个答案:

答案 0 :(得分:2)

似乎@Text注释就是答案。查看javadoc here。该示例在Blaise Doughan's blog entry的“将对象映射到简单内容”部分中找到。

简单的框架翻译:

public static class PaymentTxnID {
    @Text
    protected String value;
    @Attribute(name = "useMacro")
    protected String useMacro;

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getUseMacro() {
        return useMacro;
    }

    public void setUseMacro(String value) {
        this.useMacro = value;
    }
}