@XStreamAlias的使用案例

原文鏈接:https://blog.csdn.net/junge1545/article/details/81089588

本文鏈接:https://blog.csdn.net/junge1545/article/details/81089588
最近開發webService接口,用到了@XStreamAlias,在這裏記錄下來,下面主要通過一個簡單的demo來說明使用方法。

demo地址:https://download.csdn.net/download/junge1545/10547577

一.XStream是個很強大的工具,能將java對象和xml之間相互轉化。xstream不在意java類中成員變量是私有還是公有,也不在乎是否有默認構造函數。它調用方式也非常簡單:從xml對象轉化爲java對象,使用fromXML()方法;從java對象序列化爲xml,toXML()即可,很方便。xstream也支持註解方式,這些都是爲了簡化輸出而設計。

二.上代碼

1.創建了一個實體類
 

package bean;
 
import com.thoughtworks.xstream.annotations.XStreamAlias;
 
/** 
 * @author 作者 E-mail: 
 * @version 創建時間:2018年7月17日 下午5:00:38 
 * 類說明 
 */
@XStreamAlias("User")
public class User {
 
	@XStreamAlias("name")
	private String name;
	@XStreamAlias("age")
	private String age;
	@XStreamAlias("SEX")
	private String sex;
	public User(String name, String age, String sex) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	@Override
	public String toString() {
		return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
	}
}

2.創建一個工具類XstreamUtil 

package util;
/** 
 * @author 作者 E-mail: 
 * @version 創建時間:2018年7月17日 下午5:04:49 
 * 類說明 
 */
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XstreamUtil {
	/**
	 * 將xml轉換爲bean
	 * @param <T> 泛型
	 * @param xml 要轉換爲bean的xml
	 * @param cls bean對應的Class
	 * @return xml轉換爲bean
	 */
	public static <T> T xmlToObject(String xml, Class<T> cls){
		XStream xstream = new XStream(new DomDriver());
		//xstream使用註解轉換
		xstream.processAnnotations(cls);
		return (T) xstream.fromXML(xml);
	}
 
}

 

3.測試

public class Test {
 
	public static void main(String[] args) {
		
		//xml轉對象
		String xml="<User>\n"
				+" <name>peter</name> \n"
				+"  <age>13</age> \n"
				+"  <SEX>男</SEX> \n"
				+" </User>";
		User user = XstreamUtil.xmlToObject(xml, User.class);
		System.out.println(user);
		
		//對象轉xml
		User user2 = new User("java","10","女");
		XStream xstream = new XStream();
		xstream.autodetectAnnotations(true);//自動檢測模式,默認
		String xml2 = xstream.toXML(user2);
		System.out.println(xml2);
		
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章