`
JavaCrazyer
  • 浏览: 2990643 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

Xstream使用示例【将对象序列化为XML和将XML反序列为对象】

阅读更多

Xstream资源下载地址:http://xstream.codehaus.org/download.html

必须包:xstream-1.3.1.jar

测试程序

Person.java

 

package com.xstream.test;

public class Person {
	private String firstName;
	 private String lastName;
	 private PhoneNumber phonex;
	 private PhoneNumber fax;
	 public Person(String firstName,String lastName){
		 this.firstName=firstName;
		 this.lastName=lastName;
	 }
	 
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public PhoneNumber getPhonex() {
		return phonex;
	}
	public void setPhonex(PhoneNumber phonex) {
		this.phonex = phonex;
	}
	public PhoneNumber getFax() {
		return fax;
	}
	public void setFax(PhoneNumber fax) {
		this.fax = fax;
	}
	 
}

 

 PhoneNumber.java

 

package com.xstream.test;

public class PhoneNumber {

	private int code;
	private int number;

	public PhoneNumber(int code, int number) {
		this.code = code;
		this.number = number;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public int getNumber() {
		return number;
	}

	public void setNumber(int number) {
		this.number = number;
	}

}

 XstreamTest.java

 

package com.xstream.test;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;

public class XstreamTest {

	/**
	 * 
	 * 使用xStream.alias(String elementName, Class cls)为任何一个自定义类创建到类到元素的别名;
     * 使用xStream.toXML(Object obj)转换对象到XML;
     * 使用xStream.fromXML(String xml)转换XML到对象;
	 * @param args
	 */
	public static void main(String[] args) {
		XStream xStream = new XStream(new DomDriver());
		Person joe = new Person("Joe","Walnes"); 
		joe.setPhonex(new PhoneNumber(123,222)); 
		joe.setFax(new PhoneNumber(123,444)); 
		
		//这是可选的一步。没有这步XStream也可以很好的起作用,但是XML元素的名字就会包含
		//每个类的全称(包括包名),这将会使生成XML稍大。
		xStream.alias("person",Person.class); 
		//序列化为XML
		String xml=xStream.toXML(joe);
		System.out.println("对象序列化为XML:\n"+xml);
		//反序列化为对象
		Person newJoe = (Person)xStream.fromXML(xml); 
		System.out.println("XML反序列化为对象:\n"+newJoe);
	}
	


}

 

  

1
0
分享到:
评论
4 楼 JavaCrazyer 2010-08-16  
小小流浪猪 写道
xstream 是个好东西 ,我们公司常用这个;

是吧,还是有使用的地方的
3 楼 小小流浪猪 2010-08-13  
xstream 是个好东西 ,我们公司常用这个;
2 楼 JavaCrazyer 2010-08-12  
kangsg219 写道
为什么不用java自己的序列化呢?Xstream的优势在哪里?

这个你可以百度一下,每一种技术都有一定优势,并且每个人都有用某种技术的习惯
1 楼 kangsg219 2010-08-12  
为什么不用java自己的序列化呢?Xstream的优势在哪里?

相关推荐

Global site tag (gtag.js) - Google Analytics