2011-05-30 62 views
1

我正在做一個測試程序來寫入一個XML。 我有3個班級:人員,電話和城市。xStream從列表中複製數據

而在Person類中,我有一些像傳真,蜂窩式電話這樣的對象。 以及城市對象。

我有一個名爲Person的第四個類...它是一個具有Person類型的List的類。

private List<Person> persons = new ArrayList<Person>(); 

在主類中,我設置屬性並將Person對象添加到列表中。 但是,當我做了如下一行:

String xml = xstream.toXml(persons); 

的XML出現重複的......這樣的:

<persons> 
    <persons> 
     <person> 
     ... 
     </person> 
    </persons> 
</persons> 

它增加了在人Person對象的對象,但在第二個加對象者。

必要的XML是:

<persons> 
    <person> 
     ... 
    </person> 
</persons> 

有人能幫助我嗎?

對不起英文不好。我是巴西人。

+0

你可以請你嘗試相同的代碼在字符串班,而不是人,看看它是否重複?如果是的話,請給我們[SSCCE](http://sscce.org)提出問題。看起來代碼中的其他內容必須不正確。前段時間,我個人在類似的環境中使用了xstreams,這很好。 – Boro 2011-05-30 16:25:01

回答

1

請嘗試給我們一個獨立的例子。我的猜測是,您可能需要告訴XStream將「個人」字段(類型爲List)「隱式」。您可以使用Java方法調用或annoations來執行此操作。請參閱addImplicitCollection()(例如)和XStream Annotations Tutorial

+0

Yeaah!就是這個。 addImplicitCollection()... – 2011-05-31 16:18:14

相關問題