java - 如何使用 XStream 将对象列表转换为 XML 文档

标签 java xml xstream

如何使用 XStream 将对象列表转换为 XML 文档?

以及如何反序列化它?

这是我的xml

<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person>  
  <fullname>Guilherme</fullname>
  <age>10</age>
  <address>address,address,address,address,</address>
</person>
<person>  
  <fullname>Guilherme</fullname>
  <age>10</age>
  <address>address,address,address,address,</address>
</person>
</persons>

Person bean 包含 3 个字段如何使用自定义转换器将其转换回 Bean List?

最佳答案

您不一定需要 CustomConverter。

你需要一个类来保存你的列表:

public class PersonList {

    private List<Person> list;

    public PersonList(){
        list = new ArrayList<Person>();
    }

    public void add(Person p){
        list.add(p);
    }
}

将列表序列化为 XML:

    XStream xstream = new XStream();
    xstream.alias("person", Person.class);
    xstream.alias("persons", PersonList.class);
    xstream.addImplicitCollection(PersonList.class, "list");

    PersonList list = new PersonList();
    list.add(new Person("ABC",12,"address"));
    list.add(new Person("XYZ",20,"address2"));

    String xml = xstream.toXML(list);

将 xml 反序列化为人员对象列表:

    String xml = "<persons><person>...</person></persons>";
    PersonList pList = (PersonList)xstream.fromXML(xml);

关于java - 如何使用 XStream 将对象列表转换为 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4077071/

相关文章:

java - 将 APPLET 标签转换为 IE6 的 OBJECT 标签

java - @RequestMapping 中的 Spring Controller : How to use property ${. .}?

java - 如何使用 postman 调试我的其余 webservices maven 项目?

xml - 使用 Xpath 将 XML 节点提取到 Hive 表中

xml - hapijs 渲染 xml,如站点地图、提要

java - 如何禁用 XStream 中不必要的转义?

java - 覆盖 Arraylist 中的现有对象

java - Facebook 个人资料图片未显示在导航标题中?

java - 我们如何才能在 json 中隐含

java - 如何持久化 Http Session