关于xtream的序列化及反序列化

来源:互联网 发布:武警待遇 知乎 编辑:程序博客网 时间:2024/05/21 21:40

首先,操作以下程序需要导入以下包:

jar包下载:http://x-stream.github.io/download.html

工程目录:


具体实现代码:

public static void main(String[] args) throws Exception{
        //创建对象,加载文本驱动
        XStream xStream = new XStream(new DomDriver());
        //将生成xml文件写入目标文件下
        PrintWriter pw = new PrintWriter("D:/workspace2014/TestXtream/web.xml","utf-8");
        pw.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
        //建立别名
        xStream.alias("Person", Person.class);
        xStream.alias("PhoneNumber", PhoneNumber.class);
        Person person = new Person();
        //设置相应属性的值
        person.setFirstName("llll");
        person.setLastName("huhi");
        person.setPhoneNumber(new PhoneNumber(123, "454565"));
        person.setFax("45646");
        xStream.toXML(person,pw);
        //实现Java对象解析成xml对象,序列化
        String string = xStream.toXML(person);
        //将目标文件打印到控制台
        System.out.println(string);
        //实现xml对象解析成Java对象
        Person p = (Person) xStream.fromXML(string);
        System.out.println(p.toString());
    }

最后的打印结果:

<Person>
  <firstName>llll</firstName>
  <lastName>huhi</lastName>
  <phoneNumber>
    <code>123</code>
    <number>454565</number>
  </phoneNumber>
  <fax>45646</fax>
</Person>

xml解析成Java格式:

Person [firstName=llll, lastName=huhi, phoneNumber=PhoneNumber [code=123, number=454565], fax=45646]


0 0
原创粉丝点击