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

     

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