Java XStream避免收集xml元素

Java XStream避免收集xml元素,java,collections,xstream,Java,Collections,Xstream,给定POJO的列表,如果我用XStream序列化它们,我会得到: <list> <pojo> <a>a</a> <b>b</b> </pojo> <pojo> <a>a</a> <b>b</b> </pojo> </list> 如何进行序列化并省略条目?我使用addImpl

给定POJO的列表,如果我用XStream序列化它们,我会得到:

<list>
  <pojo>
     <a>a</a>
     <b>b</b>
  </pojo>
  <pojo>
     <a>a</a>
     <b>b</b>
  </pojo>
</list>
如何进行序列化并省略条目?我使用addImplicitCollection的目的与此类似,但这是为了在集合是要序列化的类的成员时省略集合实例变量名

注意:这个问题看起来很相似,但我认为并不完全相关。

你们不能。假设那个节点消失了——XStream怎么知道如何反序列化这个XML?它可以是list/set/array/something。此外,假设您有一个对象,其中包含一个pojo列表,后跟一个pojo字段——它们会混在一起

也就是说,如果您不打算反序列化它,您可以实现自己的流驱动程序和编写器,类似于为您删除的流驱动程序和编写器。

您不能。假设那个节点消失了——XStream怎么知道如何反序列化这个XML?它可以是list/set/array/something。此外,假设您有一个对象,其中包含一个pojo列表,后跟一个pojo字段——它们会混在一起


也就是说,如果您不打算反序列化它,您可以实现自己的流驱动程序和编写器,类似于为您删除的流驱动程序和编写器。

XML必须有一个根元素,因此ChssPly76是正确的,当然,如果您是流式传输XML,那么您可以一个接一个地编写每个pojo,从内存的角度来看也是有意义的


有关详细信息,请参阅。

XML必须有一个根元素,因此ChssPly76是正确的,但当然,如果您是流式XML,那么您可以逐个编写每个pojo,从内存的角度来看也是有意义的


有关详细信息,请参见。

现在使用XStream 1.4.1可以从输出中省略容器元素,使用XStream 1.4.1可以从输出中省略容器元素,这很有意义。谢谢。这不再是真的了,请看下面的答案。明白了,有道理。谢谢。这不再是事实,请参阅下面的答案。