2011-05-30 66 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

相关问题