天天看点

JavaBean与XML相互转换-工具类                     JavaBean与XML相互转换-工具类

                     JavaBean与XML相互转换-工具类

工具类

package cn.hlbdx;

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


public class XStreamUtil {

	/**
	 * 将bean转为xml
	 * 
	 * @param obj
	 * @return
	 */
	public static String ObjectToXML(Object obj) {
		XStream xStream = new XStream();
		// xstream使用注解转换
		xStream.processAnnotations(obj.getClass());
		return xStream.toXML(obj);
	}

	/**
	 * 将xml转换为bean
	 * 
	 * @param xml
	 * @param clazz
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public static <T> T xmlToObject(String xml, Class<T> clazz) {
		XStream xStream = new XStream(new DomDriver());
		xStream.processAnnotations(clazz);
		return (T) xStream.fromXML(xml);
	}
}
           

JavaBean

package cn.hlbdx;

import java.util.Date;

import com.thoughtworks.xstream.annotations.XStreamAlias;


@XStreamAlias("Person")
public class Person {

	@XStreamAlias("id")
	private String id;

	@XStreamAlias("name")
	private String name;

	@XStreamAlias("sex")
	private int sex;

	@XStreamAlias("birthday")
	private Date birthday;

	@XStreamAlias("isGo")
	private boolean isGo;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getSex() {
		return sex;
	}

	public void setSex(int sex) {
		this.sex = sex;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public boolean isGo() {
		return isGo;
	}

	public void setGo(boolean isGo) {
		this.isGo = isGo;
	}

	@Override
	public String toString() {
		return "Person [id=" + id + ", name=" + name + ", sex=" + sex
				+ ", birthday=" + birthday + ", isGo=" + isGo + "]";
	}

}
           

使用jar

JavaBean与XML相互转换-工具类                     JavaBean与XML相互转换-工具类