0

我正在使用 xstream 并尝试将 List 序列化为 XML。我需要一个像这样的输出结构

<Employees>
  <Employee></Employee>
  <Employee></Employee>
  <Employee></Employee>
</Employees>

要序列化的对象将类似于

 List<Employee> 

或一类雇员。我试图创建一个员工作为

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

以及其他各种方法,但无法根据需要对其进行序列化。有没有简单的方法来做这样的事情?

我的问题类似于XStream - Root 作为对象的集合,但我想在没有包装对象的情况下这样做。

4

1 回答 1

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));
}
于 2012-04-07T03:50:22.513 回答