2012-12-05 32 views
2

如何將.xsd文件中的complexType轉換爲SimpleXML帶註釋的類結構。這是一個使用xjc.exe轉換爲JAXB的例子。不確定簡單框架的等效註釋是什麼。複雜類型與簡單的XML框架?

模式:

<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; 
    } 
} 

我如何能代表複合類型與簡單嗎?

回答

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; 
    } 
}