xStream(javabean转换成xml)
来源:互联网 发布:淘宝商品发布规则 编辑:程序博客网 时间:2024/06/08 16:54
1、什么作用
将JavaBean转换为(序列化)为xml。这样就可以和ajax技术对接上,服务器可以将对象转换成xml,在使用ajax技术发送给客户端。
2、使用jar包
- 核心jar包:stream-1.4.7.jar
- 必须依赖包:xpp3_min-1.1.4c.jar (XML pull parser: 一款速度很快的xml解析器)
3、使用步骤
- XStream xstream=new XStream();
- String xmlStr=xstream.toXML(javabean);
案例:
City.java
public class City { private String name; //市名 private String desctiption; //描述 public String getName() { return name; } public City(String name, String desctiption) { super(); this.name = name; this.desctiption = desctiption; } public void setName(String name) { this.name = name; } public String getDesctiption() { return desctiption; } public void setDesctiption(String desctiption) { this.desctiption = desctiption; } @Override public String toString() { return "City [name=" + name + ", desctiption=" + desctiption + "]"; }
Province.java
public class Province { private String name; //省名 private List<City> cities=new ArrayList<City>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public List<City> getCities() { return cities; } public void setCities(List<City> cities) { this.cities = cities; } public void addCity(City city){ cities.add(city); }
Test.java
public class Demo1 { //返回javabean集合 public List<Province> getProvinceList(){ Province p1=new Province(); p1.setName("北京"); p1.addCity(new City("东城区","dongchengqu")); p1.addCity(new City("昌平区","changpingqu")); Province p2=new Province(); p2.setName("辽宁"); p2.addCity(new City("葫芦头","huloutou")); p2.addCity(new City("沈阳","shengyang")); List<Province> ps=new ArrayList<Province>(); ps.add(p1); ps.add(p2); return ps; } @Test public void fun(){ List<Province> ps=getProvinceList(); XStream xStream = new XStream();//创建XStream对象 String s=xStream.toXML(ps);//调用toXML把集合转换成xml字符集 System.out.println(s); }
执行结果:
<list> //List类型显示list <cn.itcast.xstream.Province> //javabean的类型,显示它类的完整名 <name>北京</name> //javabean的属性名 <cities> <cn.itcast.xstream.City> //类名 <name>东城区</name> //属性名 <desctiption>dongchengqu</desctiption> </cn.itcast.xstream.City> <cn.itcast.xstream.City> <name>昌平区</name> <desctiption>changpingqu</desctiption> </cn.itcast.xstream.City> </cities> </cn.itcast.xstream.Province> <cn.itcast.xstream.Province> <name>辽宁</name> <cities> <cn.itcast.xstream.City> <name>葫芦头</name> <desctiption>huloutou</desctiption> </cn.itcast.xstream.City> <cn.itcast.xstream.City> <name>沈阳</name> <desctiption>shengyang</desctiption> </cn.itcast.xstream.City> </cities> </cn.itcast.xstream.Province></list>
改善:
1、给标签起别名(alias):xstream.alias("别名",对象.class)
- 默认List类型对应的元素,希望让List类型对应<china>
元素
- 默认Province类型为<cn.itcast.demo.Province>
,希望让它对应
- 默认City类型对应<cn.itcast.demo1.City>
,希望它对应<city>
元素。
给指定的类型指定别名xstream.alias("china",List.class); //给List类型指定别名为Chinaxstream.alias("province",Province.class); //给Province类型指定别名为provincexstream.alias("city",City.class); //给City类型指定别名为cityString s=xstream.toXML(ps);
2、将类型属性转换成标签属性
* 把Province类型的属性,生成<province>
元素的属性。
xstream.userAttributeFor(Province.class,"name"); //将类型属性转化成标签属性
3、去除Collection类型的成员:只需要Collection的内容,不希望类的成员生成元素的属性
xstram.addImplicitCollection(Province.class,"cities");//让Provice类的名为cities(它是List类型,他的内容还会生成元素)的成员不生成元素
4、去除类的指定成员:让其不生成xml元素
xstream.omitField(City.class,"description") //在生成的xml中不出出现City类的名为description的对应的元素。
最终结果:
<china> <province name="北京"> <city> <name>东城区</name> </city> <city> <name>昌平区</name> </city> </province> <province name="辽宁"> <city> <name>葫芦头</name> </city> <city> <name>沈阳</name> </city> </province></china>
阅读全文
0 0
- xStream(javabean转换成xml)
- Xstream 来实习JavaBean转换成XML
- XStream(JavaBean转换为xml)
- Xstream使用的相关细节(javaBean转换成xml文档)
- 使用xStream框架从JavaBean对象转换成XML文档转换成Java对象
- 用XStream读取XML解析成javabean
- 使用 XStream实现JavaBean 与 XML/JSON 之间相互转换
- XStream实现javabean与xml之间相互转换
- xstream:实现JavaBean与XML/JSON的相互转换
- XStream实现javabean与xml之间相互转换
- 用XStream在JavaBean和XML之间进行转换
- XStream实现javabean与xml之间相互转换
- xstream:实现JavaBean与XML/JSON的相互转换
- xstream:实现JavaBean与XML/JSON的相互转换
- XStream在JavaBean与XML/JSON 之间相互转换
- 使用XStream实现xml与JavaBean之间的转换
- xStream之xml json javabean map的转换
- xStream完美转换XML、JSON /XStream Xml与JavaBean对象的互转经典【转载】
- 四种排序算法的js实现
- L
- POJ4150上机
- ConcurrentHashMap原理分析
- nfs+drbd+heartbeat实现高可用文件系统
- xStream(javabean转换成xml)
- Leetcode(W1):241.Different Ways to Add Parentheses
- MySql优化方法---网上资料整理记录
- Spring中对Controller层进行AOP切面
- 四、操作系统之处理机调度
- Contest 073 joisino's travel(最短路Floyd+全排列)
- 一个简单的扒皮
- python3 闭包的两种情况
- Java堆和栈