如何将元素列表写入XML而不将它们包含在对象中?

时间:2017-10-11 09:39:37

标签: java xml xstream

我有以下型号:

@Data
@XStreamAlias("id")
public class Group {
    private String id;
    private List<Member> memberList = new ArrayList<>();
}

在我将一个Group列表解析为XML之后,它将打印以下内容:

<group id="..">
  <memberList>
      <member>
       ...
      </member>
      <member>
       ...
      </member>
      <member>
       ...
      </member>
  </memberList>
</group>

但是,我想保存列表而不包含周围的对象memberList

<group id="..">
  <member>
    ...
  </member>
  <member>
    ...
  </member>
  <member>
    ...
  </member>
</group>

我怎么能做到这一点?我希望能够处理许多不同对象的列表。

1 个答案:

答案 0 :(得分:0)

以前从未使用过X-Stream,但根据其文档http://x-stream.github.io/annotations-tutorial.html,您可以使用@XStreamImplicit注释

@Data
@XStreamAlias("id")
public class Group {
    private String id;

    @XStreamImplicit(itemFieldName="member")
    private List<Member> memberList = new ArrayList<>();
}