日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

XStream xml与javabean之间的互转

發(fā)布時(shí)間:2025/3/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)?{????
  • ?????????????//javabean?轉(zhuǎn)?xml?????
  • ?????????????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);????
  • ?????????????????
  • ?????????????//xml轉(zhuǎn)javabean?????
  • ?????????????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ò),歡迎將生活随笔推薦給好友。