我正在使用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,但我想在没有包装器对象的情况下这样做。
答案 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));
}