夜光序言:
不难为自己,不难为别人,但也别让别人难为你
正文:
XStream
1 XStream的作用
XStream可以把JavaBean对象转换成XML~~
通常服务器向客户端响应的数据都是来自数据库的一组对象,而我们不能直接把对象响应给响应端,所以我们需要把对象转换成XML再响应给客户端,这时就需要使用XStream组合了。
2 XStream入门
为了演示XStream的作用,我们需要先写两个类,Province和City。
City.java
public class City { private String name; private String description; …… } |
Province.java
public class Province { private String name; private List<City> cities = new ArrayList<City>();
public void addCity(City city) { cities.add(city); } …… } |
接下来,我们需要写一个main(),创建一个List,List中存放两个Province对象
最终我们把List转换成XML。
Province p1 = new Province("辽宁省"); p1.addCity(new City("沈阳", "shenyang")); p1.addCity(new City("大连", "dalian"));
Province p2 = new Province("吉林省"); p2.addCity(new City("长春", "changchen")); p2.addCity(new City("白城", "baicheng"));
List<Province> list = new ArrayList<Province>();
list.add(p1); list.add(p2); |
2.1 XStream相关JAR包
我们可以到http://xstream.codehaus.org/地址去下载XStream安装包
XStream的必导JAR包:
- 核心JAR包:xstream-1.4.7.jar;
- 必须依赖包:xpp3_min-1.1.4c(XML Pull Parser,一款速度很快的XML解析器);
2.2 使用XStream把Java对象转换成XML
下面是使用XStream转换list为XML的代码:
XStream xstream = new XStream(); String s = xstream.toXML(list); System.out.println(s); |
<list> <cn.Genius.xstream.demo1.Province> <name>辽宁省</name> <cities> <cn.Genius.xstream.demo1.City> <name>沈阳</name> <description>shenyang</description> </cn.Genius.xstream.demo1.City> <cn.Genius.xstream.demo1.City> <name>大连</name> <description>dalian</description> </cn.Genius.xstream.demo1.City> </cities> </cn.Genius.xstream.demo1.Province> <cn.Genius.xstream.demo1.Province> <name>吉林省</name> <cities> <cn.Genius.xstream.demo1.City> <name>长春</name> <description>changchen</description> </cn.Genius.xstream.demo1.City> <cn.Genius.xstream.demo1.City> <name>白城</name> <description>baicheng</description> </cn.Genius.xstream.demo1.City> </cities> </cn.Genius.xstream.demo1.Province> </list> |
夜光: 也就是说,XStream是根据对象名、类名、属性名来生成XML文档的