XStream的例子
来源:互联网 发布:手机录音剪辑软件 编辑:程序博客网 时间:2024/06/05 16:46
写个小例子,方便以后复习:
1 package com.demo; 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 XStreamDemo { 11 public List<Province> getProvince(){ 12 Province bj = new Province(); 13 bj.setName("北京"); 14 List<City> bjCitys = new ArrayList<City>(); 15 City dcq = new City("东城区","dongchengqu"); 16 City xcq = new City("西城区","xichengqu"); 17 City bcq = new City("北城区","beichengqu"); 18 bjCitys.add(dcq); 19 bjCitys.add(xcq); 20 bjCitys.add(bcq); 21 bj.setCitys(bjCitys); 22 23 24 Province gd = new Province(); 25 bj.setName("广东"); 26 List<City> gdCitys = new ArrayList<City>(); 27 City gzs = new City("广州市","guangzhoushi"); 28 City szs = new City("深圳市","shenzhenshi"); 29 City czs = new City("潮州市","chaozhoushi"); 30 gdCitys.add(gzs); 31 gdCitys.add(szs); 32 gdCitys.add(czs); 33 gd.setCitys(gdCitys); 34 35 List<Province> provinces = new ArrayList<Province>(); 36 provinces.add(bj); 37 provinces.add(gd); 38 return provinces; 39 } 40 /** 41 * 用xstream把JavaBean转换成xml字符串 42 */ 43 @Test 44 public void fun1(){ 45 XStream xs = new XStream(); 46 String s = xs.toXML(getProvince()); 47 System.out.println(s); 48 } 49 50 51 /** 52 * 使用xstream的alias(String name,Class object);方法更改类的名称 53 */ 54 @Test 55 public void fun2(){ 56 XStream xs = new XStream(); 57 xs.alias("china", List.class); 58 xs.alias("province", Province.class); 59 xs.alias("city", City.class); 60 String s = xs.toXML(getProvince()); 61 System.out.println(s); 62 } 63 64 /** 65 * 把子元素变为元素属性 66 */ 67 @Test 68 public void fun3(){ 69 XStream xs = new XStream(); 70 //更改别名 71 xs.alias("china", List.class); 72 xs.alias("province", Province.class); 73 xs.alias("city", City.class); 74 //把子元素变为元素属性 75 xs.useAttributeFor(Province.class, "name"); 76 77 String s = xs.toXML(getProvince()); 78 System.out.println(s); 79 } 80 /** 81 * 去除集合属性对应元素 82 */ 83 @Test 84 public void fun4(){ 85 XStream xs = new XStream(); 86 //更改别名 87 xs.alias("china", List.class); 88 xs.alias("province", Province.class); 89 xs.alias("city", City.class); 90 //把子元素变为元素属性 91 xs.useAttributeFor(Province.class, "name"); 92 // 去除集合属性对应元素 93 xs.addImplicitCollection(Province.class, "citys"); 94 String s = xs.toXML(getProvince()); 95 System.out.println(s); 96 } 97 /** 98 * 去除集合属性对应元素 99 */100 @Test101 public void fun5(){102 XStream xs = new XStream();103 //更改别名104 xs.alias("china", List.class);105 xs.alias("province", Province.class);106 xs.alias("city", City.class);107 //把子元素变为元素属性108 xs.useAttributeFor(Province.class, "name");109 // 去除集合属性对应元素110 xs.addImplicitCollection(Province.class, "citys");111 //让类成员不生成对应的xml元素112 xs.omitField(City.class, "explain");113 String s = xs.toXML(getProvince());114 System.out.println(s);115 }116 117 }
----其它涉及的类-----
Provice.class
1 import java.util.List; 2 3 public class Province { 4 private String name; 5 private List<City> citys; 6 public Province() { 7 super(); 8 // TODO Auto-generated constructor stub 9 }10 public Province(String name, List<City> citys) {11 super();12 this.name = name;13 this.citys = citys;14 }15 public String getName() {16 return name;17 }18 public void setName(String name) {19 this.name = name;20 }21 public List<City> getCitys() {22 return citys;23 }24 public void setCitys(List<City> citys) {25 this.citys = citys;26 }27 28 29 }
City.class
1 public class City { 2 private String name; 3 private String explain; 4 public City() { 5 super(); 6 // TODO Auto-generated constructor stub 7 } 8 public City(String name, String explain) { 9 super();10 this.name = name;11 this.explain = explain;12 }13 public String getName() {14 return name;15 }16 public void setName(String name) {17 this.name = name;18 }19 public String getExplain() {20 return explain;21 }22 public void setExplain(String explain) {23 this.explain = explain;24 } 25 26 }
0 0
- XStream的例子
- 用XStream把Map转化成xml的例子
- XStream把xml转换为多个对象组合的JavaBean例子
- java序列化/反序列化之xstream、protobuf、protostuff 的比较与使用例子
- java序列化/反序列化之xstream、protobuf、protostuff 的比较与使用例子
- Xstream的使用
- XStream的使用方法
- XStream的分析
- xstream插件的使用
- 关于XStream的使用
- xstream的别名使用
- xstream 别名的用法
- Xstream的使用
- xstream 别名的用法
- Xstream的简单使用
- ajax04 xstream的讲解
- .xstream的alias使用方法
- XStream的简单使用
- xStream完美转换XML、JSON
- 实现守护进程
- android调用系统相机拍照并保存在本地
- 微信公众号素材管理新增其他类型永久素材
- plsql 登录时出现 无法解析指定的标识符 问题
- XStream的例子
- 对AFN和ASI各自使用方法及区别的总结
- 【前端小代码】选中checkbox多选框,将值填入select中option中
- POJ3768 较复杂分形题目
- nc 的debug 配置调整
- SDWebImage详解
- jQuery学习--jQuery DOM 操作
- JavaBean的命名规则
- <T> List<T>的用法