XStream的用法
-
XStream的作用
-
Xstream是一個功能比較強大的xml和java對象互轉的工具包。可以通過簡單的api調用,便實現一系列的轉換操作。
-
-
使用XStream需導入的jar包
-
xmlpull_1_0_5.jar
-
xstream-1.4.8.jar
-
-
使用步驟
-
XStream xstream = new XStream(); String s = xstream.toXML(prolist);
-
-
使用細節
-
取別名:
xstream.alias("china", java.util.List.class); xstream.alias("province", Modol.Province.class); xstream.alias("city", Modol.City.class);
-
將java中的屬性改爲xml中元素的屬性:
xstream.useAttributeFor(Modol.Province.class, "name");
-
去除Collectio類型的成員:
xstream.addImplicitCollection(Modol.Province.class, "cities");
-
去除類的指定成員,讓其不生成xml元素:
xstream.omitField(Modol.City.class, "description");
-
-
實例
package Test; import java.util.ArrayList; import java.util.List; import com.thoughtworks.xstream.XStream; import Modol.City; import Modol.Province; public class Demo { public static List<Province> getProvinceList() { Province p1 = new Province(); p1.setName("北京"); p1.addCity(new City("東城區", "dongchenqu")); p1.addCity(new City("朝陽區", "chaoyangqu")); Province p2 = new Province(); p2.setName("江西"); p2.addCity(new City("南昌", "南昌")); p2.addCity(new City("宜春", "yichun")); List<Province> provinceList = new ArrayList<Province>(); provinceList.add(p1); provinceList.add(p2); return provinceList; } public static void fun() { List<Province> prolist = getProvinceList(); XStream xstream = new XStream(); xstream.alias("china", java.util.List.class); xstream.alias("province", Modol.Province.class); xstream.alias("city", Modol.City.class); xstream.useAttributeFor(Modol.Province.class, "name"); xstream.addImplicitCollection(Modol.Province.class, "cities"); xstream.omitField(Modol.City.class, "description"); String s = xstream.toXML(prolist); System.out.println(s); } public static void main(String[] args) { fun(); } }