如何使用XStream将对象列表转换为XML文档 [英] How to convert List of Object to XML doc using XStream

查看:335
本文介绍了如何使用XStream将对象列表转换为XML文档的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How to convert List of Object to XML doc using XStream ?

以及如何反序列化它?

and how to deserialize it back ?

这是我的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的字段?

Person bean contains 3 fields how to convert back it to Bean List using custom converters ?

推荐答案

您不一定需要CustomConverter。

You don't necessarily need a CustomConverter.

您需要一个班级来保存您的清单:

You need a class to hold your list:

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);

这篇关于如何使用XStream将对象列表转换为XML文档的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆