2011-04-01 51 views
2
<?xml version='1.0'?> 
<info> 
    <contract> 
     <symbol>IBM</symbol> 
     <sectype>STK</sectype> 
     <exchange>SMART</exchange> 
     <currency>USD</currency> 
    </contract> 
    <order> 
     <action>SELL</action> 
     <quantity>100</quantity> 
     <ordertype>LMT</ordertype> 
     <imtprice>imtprice</imtprice> 
     <transmit>false</transmit> 
    </order> 
</info> 

我想使用JAXB標註與現有的Java類創建上面的XML輸入,但我不知道如何基於Java類創建嵌套結構使用JAXB符號

回答

3

試試這個創建嵌套的XML結構:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder = { 「合同」, 「訂單」})
公共類信息 {
@XmlElement(必填= 爲真)
私人合同 合同;
@XmlElement(必填= true)
私人訂購訂單; //吸氣劑和setter
}

另一類:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder = { 「符號」, 「SECTYPE」,「交換「, 」currency「})
public class Contract {
@XmlElement(required = true)
private String symbol;
@XmlElement(必需= true)
私人字符串 sectype;
@XmlElement(必需= true)
私人字符串 交換;
@XmlElement(必需 = true)
私人字符串貨幣;

// getter和setter方法 }

創建一個訂單類的方法相同。

+0

未註釋的字段將被視爲@XmlElement,如果您不需要指定required = true(對應於模式中的minOccurs =「1」),則不需要使用盡可能多的@XmlElement註釋。 – 2011-04-01 10:11:21

+0

我應該寫什麼,如果我想要3個標記在xml中的實例而不是隻有一個 – Hunt 2011-04-01 13:27:51

+0

私人列表訂單; – mmjmanders 2011-04-01 15:17:10