您的位置:首页 > 编程语言 > Java开发

XStream实现javabean与xml之间相互转换

2012-04-06 18:16 573 查看
直接贴代码:

User.java

package com.huilan.wcm.util.XStream;

import java.io.Serializable;
public class User implements Serializable{

private String id;
private String name;
private String age;
public User(){

}
public User(String id,String name,String age){
this.id=id;
this.name=name;
this.age=age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}

}


BaseBean.java

package com.huilan.wcm.util.XStream;

import java.util.ArrayList;
import java.util.List;

public class BaseBean{
private List<User> userList;
public BaseBean(){
userList = new ArrayList<User>();
}
public List<User> getUserList() {
return userList;
}

public void setUserList(List<User> userList) {
this.userList = userList;
}
public void addUser(User user) {
userList.add(user);
}
}


测试类XStreamTest.java

package com.huilan.wcm.util.XStream;

import java.util.ArrayList;
import java.util.List;

import com.huilan.wcm.util.Betwixt.BaseBean;
import com.huilan.wcm.util.Betwixt.User;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;

public class XStreamTest {
public static void main(String[] args) {
//javabean 转 xml
List<User> users = new ArrayList<User>();
users.add(new User("123", "艾丝凡", "23"));
users.add(new User("456", "呃呃呃", "24"));
BaseBean base = new BaseBean();
base.setUserList(users);
XStream xs = new XStream();
xs.alias("root", BaseBean.class);
xs.alias("user", User.class);
xs.aliasField("list", BaseBean.class, "userList");
String xml=xs.toXML(base);
System.out.println("javabean转成xml为:\n"+xml);

//xml转javabean
XStream xs1 = new XStream(new DomDriver());
xs1.alias("root", BaseBean.class);
xs1.alias("user", User.class);
xs1.aliasField("list", BaseBean.class, "userList");
base=(BaseBean)xs1.fromXML(xml);
users=base.getUserList();
System.out.println("xml转成javabean为:");
for(User u:users){
System.out.println("id="+u.getId()+",name="+u.getName()+",age="+u.getAge());
}
}

}






输出结果:

javabean转成xml为:

<root>

<list>

<user>

<id>123</id>

<name>艾丝凡</name>

<age>23</age>

</user>

<user>

<id>456</id>

<name>呃呃呃</name>

<age>24</age>

</user>

</list>

</root>

xml转成javabean为:

id=123,name=艾丝凡,age=23

id=456,name=呃呃呃,age=24


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: