`
yunzhongxia
  • 浏览: 642087 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XStream学习笔记一

    博客分类:
  • java
XML 
阅读更多

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的别名问题。今天就写到这里。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics