XStream的用法

XStream的用法

  1. XStream的作用

    • Xstream是一个功能比较强大的xml和java对象互转的工具包。可以通过简单的api调用,便实现一系列的转换操作。

  2. 使用XStream需导入的jar包

    1. xmlpull_1_0_5.jar

    2. xstream-1.4.8.jar

  3. 使用步骤

    • XStream xstream = new XStream();
      String s = xstream.toXML(prolist);
  4. 使用细节

    1. 取别名:
       

              xstream.alias("china", java.util.List.class);
              xstream.alias("province", Modol.Province.class);
              xstream.alias("city", Modol.City.class);

       

    2. 将java中的属性改为xml中元素的属性:
       

      xstream.useAttributeFor(Modol.Province.class, "name");

       

    3. 去除Collectio类型的成员:
       

      xstream.addImplicitCollection(Modol.Province.class, "cities");

       

    4. 去除类的指定成员,让其不生成xml元素:

    xstream.omitField(Modol.City.class, "description");
    1. 
       

  5. 实例

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

     

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