XStream-->别名;元素转属性;去除集合属性(剥皮);忽略不需要元素

来源:互联网 发布:js设置单选按钮选中 编辑:程序博客网 时间:2024/06/09 20:23
原址:http://www.cnblogs.com/vmkash/p/5524809.html

--->清单:

City.java

Province.java

TestXStream.java

4个XStream方法的效果图


 

javabean-->City.java

 

复制代码
 1 package xstream; 2  3 public class City { 4     private String name; 5     private String description; 6      7     public String getName() { 8         return name; 9     }10     public void setName(String name) {11         this.name = name;12     }13     public String getDescription() {14         return description;15     }16     public void setDescription(String description) {17         this.description = description;18     }19     public City(String name, String description) {20         this.name = name;21         this.description = description;22     }23 }
复制代码

javabean-->Province.java

 

复制代码
 1 package xstream; 2  3 import java.util.ArrayList; 4 import java.util.List; 5  6 public class Province { 7     private String name; 8     private List<City> cities = new ArrayList<City>(); 9     10     public void addCity(City city){11         cities.add(city);12     }13     14     public String getName() {15         return name;16     }17     public void setName(String name) {18         this.name = name;19     }20     public List<City> getCities() {21         return cities;22     }23     public void setCities(List<City> cities) {24         this.cities = cities;25     }26     public Province(String name, List<City> cities) {27         super();28         this.name = name;29         this.cities = cities;30     }31 32     public Province() {}33 34     public Province(String name) {35         this.name = name;36     }37 }
复制代码

测试类-->TestXStream.java

复制代码
 1 package xstream; 2  3 import java.util.ArrayList; 4 import java.util.List; 5  6 import org.junit.Test; 7  8 import com.thoughtworks.xstream.XStream; 9 10 public class TestXStream {11     public List<Province> getProvinceList(){12         List<Province> provinceList = new ArrayList<Province>();13         14         Province p1 = new Province("北京");15         p1.addCity(new City("东城区","东城区"));16         p1.addCity(new City("西城区","西城区"));17         18         Province p2 = new Province("上海");19         p2.addCity(new City("徐汇区","徐汇区"));20         p2.addCity(new City("浦东新区","浦东新区"));21         22         provinceList.add(p1);23         provinceList.add(p2);24         25         return provinceList;26     }27     //--->原生版28     @Test29     public void fun(){30         List<Province> proList = getProvinceList();31         XStream xStream = new XStream();32         String xml = xStream.toXML(proList);33         System.out.println(xml);34     }35 36     //--->修改37     @Test38     public void fun1(){39         List<Province> proList = getProvinceList();40         XStream xStream = new XStream();41         42         //别名43         xStream.alias("china", java.util.List.class);44         xStream.alias("province", Province.class);45         xStream.alias("city", City.class);46         47         //把子元素变成父元素的属性48         xStream.useAttributeFor(Province.class, "name");49         50         //去掉容器,"剥皮"51         xStream.addImplicitCollection(Province.class, "cities");52         53         //忽略不需要的属性-xml的元素54         xStream.omitField(City.class, "description");55         56         String xml = xStream.toXML(proList);57         System.out.println(xml);58     }59     60 }
复制代码

-->4个XStream方法的效果图


 

--->别名


 

--->子元素转换成属性


--->去掉集合元素("剥皮")


 

--->忽略不需要的元素



 

原创粉丝点击