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>Joe1234-456