`
zqding
  • 浏览: 93765 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JAVA对象与XML互相转变

阅读更多

简单介绍下JAVA对象与XML互相转变,详细请进入http://xstream.codehaus.org/tutorial.html

1、首先下载需要用的jar包:xstream-1.3.1.jar,并放置在ClassPath目录下

2、用到的两到JavaBean:

 

/**
 * File   : PhoneNumber.java
 * Author : zqding
 * Date   : 2011-1-21
 * Version:
 * Desc   : 	
 */
package org.usc.beans;

public class PhoneNumber {
	private int code;
	private String number;

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

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

	public String getNumber() {
		return number;
	}

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

 

 

/**
 * File   : Person.java
 * Author : zqding
 * Date   : 2011-1-21
 * Version:
 * Desc   : 	
 */
package org.usc.beans;

public class Person {
	private String firstname;
	private String lastname;
	private PhoneNumber phone;
	private PhoneNumber fax;

	public Person(){
	}
	
	public Person(String name,String lname){
		this.firstname = name;
		this.lastname = lname;
	}
	
	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 getPhone() {
		return phone;
	}

	public void setPhone(PhoneNumber phone) {
		this.phone = phone;
	}

	public PhoneNumber getFax() {
		return fax;
	}

	public void setFax(PhoneNumber fax) {
		this.fax = fax;
	}

}

 

3、测试代码:

 

/**
 * File   : ObjectToXML.java
 * Author : zqding
 * Date   : 2011-1-21
 * Version:
 * Desc   : 	
 */
package org.usc.reflection;

import org.usc.beans.Person;
import org.usc.beans.PhoneNumber;

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

public class ObjectToXML {
	public static void main(String[] args) {
		  //1、对象转变成XML
		  Person person = new Person("Joe", "Walnes");
		  person.setPhone(new PhoneNumber(123, "1234-456"));
		  person.setFax(new PhoneNumber(123, "9999-999"));
		   
		  XStream xStream=new XStream(new DomDriver());
		  xStream.alias("person",Person.class);
		  String xml=xStream.toXML(person);
		  System.out.println(xml);
		  
		  //2、XML转变成对象
		  Person newJoe = (Person)xStream.fromXML(xml);
		  System.out.println(newJoe.getFirstname());
		  System.out.println(newJoe.getPhone().getNumber());
	}
}

 

4、显示结果:

 

<person>
  <firstname>Joe</firstname>
  <lastname>Walnes</lastname>
  <phone>
    <code>123</code>
    <number>1234-456</number>
  </phone>
  <fax>
    <code>123</code>
    <number>9999-999</number>
  </fax>
</person>
Joe
1234-456
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics