Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java xstream,如何将列表序列化为xml_Java_Collections_Xstream - Fatal编程技术网

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

Java xstream,如何将列表序列化为xml,java,collections,xstream,Java,Collections,Xstream,我正在使用xstream并尝试将列表序列化为XML。我需要像这样的输出结构 <Employees> <Employee></Employee> <Employee></Employee> <Employee></Employee> </Employees> 要序列化的对象类似于 List<Employee> 列表 或者一个班的员工。我试着创建一个员工作为 publ

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

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

要序列化的对象类似于

 List<Employee> 
列表
或者一个班的员工。我试着创建一个员工作为

public class Employees extends ArrayList<Employee>(){}
public类Employees扩展了ArrayList(){}
和其他各种方法,但无法按需要进行序列化。有没有一个简单的方法来做这样的事情


我的问题与类似,但我希望不使用包装器对象。

是否使用列表作为根元素?您可以为该类设置别名。下面的代码生成您要查找的输出

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));
}
publicstaticvoidmain(字符串[]args){
List employees=new ArrayList();
employees.add(newemployees());
employees.add(newemployees());
employees.add(newemployees());
XStream XStream=新的XStream();
别名(“雇员”,List.class);
System.out.println(xstream.toXML(雇员));
}

也许我不知道如何正确使用它,但如果用户扩展ArrayList,字段名会是什么?xstream.addImplicitCollection(Users.class,“?”)xstream.alias(“Employees”,Users.class);我相信你需要一个定制的转换器。