2010-11-16 94 views
2

我正在使用我的自己的可迭代的結構 - 各種BinaryTrees。我可以簡單地編組他們嗎?這是很容易的元帥f.e. java.util.List實現,但在我的情況下,這是絕對不能接受的。我需要用我自己的結構,與沒有任何內部的容器 - 只讀存儲器鏈(root.leftson.rightson等)我可以用JAXB編組我自己的數據結構嗎?

換句話說,是有可能馬歇爾結構,如:

class BinaryTree<T> implements Iterable<T>

編輯:結構應該看起來像(爲BinaryTree<Person>):

<persons> 
<person> 
    <name>John</name> 
    <surname>Black</name> 
</person> 
<person> 
    <name>Joe</name> 
    <surname>Blue</name> 
</person> 
</persons> 

所以,當我添加註釋到我的結構,如:

@XmlElement 
private BinaryTree<Person> persons = new BinaryTree<Person>(); 
public BinaryTree<Person> getPersons() { return persons; } 

,它只是產生像空元素<persons />。我也嘗試了@XmlElementWrapper註解,但它不會採用自定義結構(必須是集合或類似的東西)。這將是很高興有像@IterableElement或什麼:)

+0

你需要問自己「這個結構如何用XML表示?」。 – skaffman 2010-11-16 13:55:07

+0

我確實知道,檢查編輯。 – Xorty 2010-11-16 13:57:29

+0

什麼編輯?我對你所期望的XML結構一無所知。 – skaffman 2010-11-16 13:58:49

回答

2

有一個關於如何做你自己的編組方法在的javadoc指南。這樣,使用@XMLJavaAdapter註釋,您可以準確定義您想要編組班級的方式。

+0

我的博客上也有一個使用XML適配器的例子:http://bdoughan.blogspot.com/2010/07/xmladapter-jaxbs-secret-weapon.html – 2010-11-16 14:31:28

+0

看起來不錯,我我會仔細看看它的位置。但我現在很匆忙,所以這次我選擇了DOM。 – Xorty 2010-11-16 15:33:06

相關問題