欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

详细介绍JavaBean和XML互转工具类

程序员文章站 2022-03-09 10:21:42
...
使用XStream的jar包
x-stream.github.io/index.html
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);
	}
}

以上就是详细介绍JavaBean和XML互转工具类的详细内容,更多请关注其它相关文章!