xstream,如何将列表序列化为xml

时间:2012-04-07 03:31:43

标签: java collections xstream

我正在使用xstream并尝试将List序列化为XML。我需要一个像

这样的输出结构
<Employees>
  <Employee></Employee>
  <Employee></Employee>
  <Employee></Employee>
</Employees>

要序列化的对象类似于

 List<Employee> 

或班级员工。我试图创建一个Employees

public class Employees extends ArrayList<Employee>(){}

和其他各种方法,但不能让它按照我的需要进行序列化。有没有一种简单的方法可以做这样的事情?

我的问题类似于XStream - Root as a collection of objects,但我想在没有包装器对象的情况下这样做。

1 个答案:

答案 0 :(得分:1)

您使用列表作为根元素?您可以为该类添加别名。下面的代码生成您正在寻找的输出。

public static void main(String[] args) {
    List<Employee> employees = new ArrayList<Employee>();
    employees.add(new Employee());
    employees.add(new Employee());
    employees.add(new Employee());
    XStream xstream = new XStream();
    xstream.alias("Employees", List.class);
    System.out.println(xstream.toXML(employees));
}