xstream 对象和xml文件的相互转化

package com.wa.spring.chapter14.demo;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.wa.spring.chapter14.model.User;

/**
 * @author Administrator
 *  对象 和xml文件的转化
 */
public class SimpleXML {
   
    private static XStream xStream;
    
    static {
        //创建xml实例,并制定解析器
        xStream = new XStream(new DomDriver());
    }
    
    public static User getUser() throws ParseException{
        User user = new User();
        user.setId(12);
        user.setUsername("东方不败");
        user.setLastLoginDate(new Date());
        user.setPassword("123456");
        user.setRegisterDate(new SimpleDateFormat("yyyy-MM-dd").parse("2010-10-21"));
        user.setLastLoginIp("192.189.0.102");
        return user;
    }
    //java 对象转化为XML
    public static void ObjectToXML () throws Exception{
        User user = getUser();
        FileOutputStream out =new FileOutputStream(new File("F:\\user.xml"));
        xStream.toXML(user, out);
        System.out.println("转换成功");
    }
    //将xml转化为java对象
    public static void XMLToObject() throws Exception{
        FileInputStream input = new FileInputStream(new File("F:\\user.xml"));
        User user = (User)xStream.fromXML(input);
        System.out.println(user);
    }
    public static void main(String[] args) throws Exception{
        //ObjectToXML();
        
        XMLToObject();
    }
}

生成对应的xml文件:

<com.wa.spring.chapter14.model.User>
  <id>12</id>
  <username>东方不败</username>
  <password>123456</password>
  <registerDate>2010-10-20 16:00:00.0 UTC</registerDate>
  <lastLoginDate>2014-11-08 02:14:20.97 UTC</lastLoginDate>
  <lastLoginIp>192.189.0.102</lastLoginIp>
</com.wa.spring.chapter14.model.User>

 

posted @ 2015-01-21 09:16  snow__wolf  阅读(325)  评论(0)    收藏  举报