XStreamxml与javabean之间的互转

    xiaoxiao2025-12-28  5

    XStream是thoughtworks公司发布的一个简单的Java类库,用于将JavaBean序列化为XML,并且能够将XML文件反向转换为JavaBean.

    实例:

    user.java

    [java]  view plain  copy 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

    [java]  view plain  copy 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代码

    [java]  view plain  copy 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);//注意此处要把原要转换的bean类定义别名为根节点的名字,如上面的xml的根节点为<root>                  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());                  }              }                    }  
    最新回复(0)