XStream是thoughtworks公司发布的一个简单的Java类库,用于将JavaBean序列化为XML,并且能够将XML文件反向转换为JavaBean.
转自:http://blog.csdn.net/jianhua0902/article/details/8487043
实例:
user.java
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
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); } }
xstream代码
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()); } } }