XStream是一个实现java对象和xml相互转化的开源组件,官方的地址是http://xstream.codehaus.org
下面创建一个简单的例子。
1 Create classes to be serialized
package org.utmost.util.xml; public class User { private String name; private String pwd; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
2 Initializing Java Object
List list=new ArrayList(); User user=new User(); user.setName("张三"); user.setPwd("123"); list.add(user); user=new User(); user.setName("李四"); user.setPwd("456"); list.add(user);
3 Initializing XStream
XStream stream=new XStream();
以上方式实例化stream是需要xpp3-[version].jar包的,如果不想用xpp3则需要用标准的JAXP DOM解析器
XStream stream=new XStream(new DomDriver());
4 给list和user类起个别名,如果不起别名则是类的完整的名字(包名+类名)
stream.alias("users", List.class); stream.alias("user", User.class);
备注:有的时候生成的xml中需要给字段起个别名。例如:把name属性转化为大写字母:
stream.aliasField("NAME", User.class, "name");
5 Serializing an object to XML
String xmlStr=stream.toXML(list); System.out.println(xmlStr);
看看打印出的结果:
<users> <user> <NAME>张三</NAME> <pwd>123</pwd> </user> <user> <NAME>李四</NAME> <pwd>456</pwd> </user> </users>
以上例子是参照xtream官方上的一个开发指南写的,下一篇文章打算详细介绍下xstream的别名问题。今天就写到这里。