JavaBean和XML 互转工具类

使用XStream的jar包

[url]http://x-stream.github.io/index.html[/url]

jar包见附件

XStream is a simple library to serialize objects to XML and back again.

实体类

public class Person {

private String firstname;
private String lastname;
private PhoneNumber phone;
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 getPhone() {
return phone;
}
public void setPhone(PhoneNumber phone) {
this.phone = phone;
}
public PhoneNumber getFax() {
return fax;
}
public void setFax(PhoneNumber fax) {
this.fax = fax;
}


}

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

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;
}
}



工具类


import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.StaxDriver;
import com.wind.study.entity.Person;
import com.wind.study.entity.PhoneNumber;

/**
*
* @author wind
* @date 2016年9月13日 下午4:49:32
* @Description: bean/XML 互转
*/
public class BeanXMLConvertUtil {

public static void main(String[] args) {
XStream xstream = new XStream(new StaxDriver());

//XStream的XML输出更简洁,可以为您的自定义类名创建别名XML元素名称。这是唯一类型的映射需要使用XStream甚至是可选的。
xstream.alias("person", Person.class);
xstream.alias("phonenumber", PhoneNumber.class);

Person joe = new Person("Joe", "Walnes");
joe.setPhone(new PhoneNumber(123, "1234-456"));
joe.setFax(new PhoneNumber(123, "9999-999"));

//bean to XML
String xml = xstream.toXML(joe);
//XML to bean
Person newJoe = (Person)xstream.fromXML(xml);

System.out.println(newJoe.getFirstname());

System.out.println(xml);
}
}

你可能感兴趣的:(Java工具类)