生活随笔
收集整理的這篇文章主要介紹了
XStream xml与javabean之间的互转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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)?{???? ??????????????? ?????????????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);???? ????????????????? ??????????????? ?????????????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());???? ?????????????}???? ?????????}???? ????????? ?????} ?
總結
以上是生活随笔為你收集整理的XStream xml与javabean之间的互转的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。