2014-07-09 139 views
1

我對如何處理JAXB中的子根感到困惑。我知道,根類看起來是這樣的:JAXB子根元素

package cool.java 

@XmlRootElement 
public class Snap { 

    @XmlElement 
    private Crackle foo; 
    .... 
} 

和捕捉的一個子類是這樣的:

package cool.java 

@XmlRootElement(namespace = "cool.java.Snap") 
public class Crackle { 

    @XmlElement 
    private Pop foo; 
    ... 
} 

當我感到困惑的是如何詮釋它有裂紋作爲流行音樂類它的直接根源。我還會將它指向主根嗎?

@XmlRootElement(namespace = "cool.java.Snap") 

我是否指定Pop的直接根?

@XmlRootElement(namespace = "cool.java.Snap.Crackle") 
+0

據我所知,你不需要任何特殊的註釋(除了'@ XmlType'),只是參考'Pop'在'Crackle'(順便說一句這是不是'Snap'但元素的子類)。 – Thomas

+0

根據您的模式,您不需要指定任何可以滿足@XmlElement(required = true)或@XmlElement的任何內容。 –

回答

0

對於Crackle類,您不需要任何註釋。 Crackle實例的內容將與對應於保存該實例的字段/屬性(即foo)的元素嵌套。

<snap> 
    <foo> 
     <foo>...</foo> 
    </foo> 
</snap>