生活随笔
收集整理的這篇文章主要介紹了
XStream xml与javabean之间的互转
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
XStream是thoughtworks公司發(fā)布的一個(gè)簡(jiǎn)單的Java類(lèi)庫(kù),用于將JavaBean序列化為XML,并且能夠?qū)ML文件反向轉(zhuǎn)換為JavaBean.
實(shí)例:
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",?"愛(ài)邊程",?"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轉(zhuǎn)成xml為:\n"+xml);???? ????????????????? ??????????????? ?????????????XStream?xs1?=?new?XStream(new?DomDriver());???? ?????????????xs1.alias("root",?BaseBean.class);//注意此處要把原要轉(zhuǎn)換的bean類(lèi)定義別名為根節(jié)點(diǎn)的名字,如上面的xml的根節(jié)點(diǎn)為<root> ? ? ?????????????xs1.alias("user",?User.class); ?//此處與上面相同 ? ?????????????xs1.aliasField("list",?BaseBean.class,?"userList");???? ?????????????base=(BaseBean)xs1.fromXML(xml);???? ?????????????users=base.getUserList();???? ?????????????System.out.println("xml轉(zhuǎn)成javabean為:");???? ?????????????for(User?u:users){???? ?????????????????System.out.println("id="+u.getId()+",name="+u.getName()+",age="+u.getAge());???? ?????????????}???? ?????????}???? ????????? ?????} ?
總結(jié)
以上是生活随笔為你收集整理的XStream xml与javabean之间的互转的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。