XStream-->別名;元素轉屬性;去除集合屬性(剝皮);忽略不需要元素


--->清單:

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     @Test
29     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     @Test
38     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方法的效果圖


 

--->別名


 

--->子元素轉換成屬性


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


 

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



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM