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