• 1.首家专业真正意义的悬赏问答赚钱网站!
  • 2.我们相信:重金之下必有勇者,钱能促进回答!
  • 3.购买答案别害怕,网站有担保,不满意可退款,拒绝恶意操作!
  • 4.回答售出就有收益,永久不限次数为您持续产生收益!
  • 5.提问也可以赚钱了,提问所属答案被购买确认,也可产生收益!
  • 6.收益计量都是不限次数、时间、地点,真正意义上的摇钱树!
  • 7.购买者是提问者本人,回答者享有百分百收益!
  • 8.自问自答模式已开启!经验/文章博客/聊天记录变问答赚钱!
    未登录
    当前位置: 首页 经验之谈 问题详情

    XStream序列化与反序列化

    发布时间:2019-01-30 18:54 注:该提问由任* 发起的自问自答(由他的知识、经验、图书/文章等拆分演变为问答形式而来),该自问自答产生所有收益的0%归发布人所有。如果你觉得你有更好的回答,也可以参与回答,回答收益分成70%
    以下为提问人的全部回答内容

    使用eclipse创建maven项目。

    用maven管理jar包时在pom.xml中添加:

    1. <!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->

    2. <dependency>  

    3. <groupId>com.thoughtworks.xstream</groupId>  

    4. <artifactId>xstream</artifactId>  

    5. <version>1.4.9</version>  

    6. </dependency>  

    7. <!-- https://mvnrepository.com/artifact/xpp3/xpp3_min -->  

    8. <dependency>  

    9. <groupId>xpp3</groupId>  

    10. <artifactId>xpp3_min</artifactId>  

    11. <version>1.1.4c</version>  

    12. </dependency>  

    13. <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->  

    14. <dependency>  

    15. <groupId>dom4j</groupId>  

    16. <artifactId>dom4j</artifactId>  

    17. <version>1.6.1</version>  

    18. </dependency>

    19. 创建实体类,

    20. package xp4;


    21. public class Address {  

    22.   

    23.     //国  

    24.     private String country;  

    25.     //省  

    26.     private String province;  

    27.     //市  

    28.     private String city;  

    29.     //县  

    30.     private String county;  

    31.     //镇  

    32.     private String town;

    33. public String getCountry() {

    34. return country;

    35. }

    36. public void setCountry(String country) {

    37. this.country = country;

    38. }

    39. public String getProvince() {

    40. return province;

    41. }

    42. public void setProvince(String province) {

    43. this.province = province;

    44. }

    45. public String getCity() {

    46. return city;

    47. }

    48. public void setCity(String city) {

    49. this.city = city;

    50. }

    51. public String getCounty() {

    52. return county;

    53. }

    54. public void setCounty(String county) {

    55. this.county = county;

    56. }

    57. public String getTown() {

    58. return town;

    59. }

    60. public void setTown(String town) {

    61. this.town = town;

    62. }  

    63.       

    64.       

    65. }


    66. package xp4;

    67.   

    68. import java.util.List;  

    69.   

    70. public class Person {  

    71.   

    72.     //姓名  

    73.     private String name;  

    74.     //性别  

    75.     private String sex;  

    76.     //年龄  

    77.     private int age;  

    78.     //地址  

    79.     private List<Address> Address;

    80. public String getName() {

    81. return name;

    82. }

    83. public void setName(String name) {

    84. this.name = name;

    85. }

    86. public String getSex() {

    87. return sex;

    88. }

    89. public void setSex(String sex) {

    90. this.sex = sex;

    91. }

    92. public int getAge() {

    93. return age;

    94. }

    95. public void setAge(int age) {

    96. this.age = age;

    97. }

    98. public List<Address> getAddress() {

    99. return Address;

    100. }

    101. public void setAddress(List<Address> address) {

    102. Address = address;

    103. }  

    104.       

    105.   



    106. }

    107. 工具类:

    108. package xp4;


    109. import com.thoughtworks.xstream.XStream;

    110. import com.thoughtworks.xstream.io.xml.DomDriver;


    111. /** 

    112.  * XStream工具类 

    113.  * @author sun.kai 

    114.  * 2016年8月13日 

    115.  */  

    116. public class XStreamUtil {  

    117.   

    118.     private static XStream xStream;  

    119.       

    120.     //JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。  

    121.     static{  

    122.         xStream = new XStream(new DomDriver());  

    123.         /* 

    124.          * 使用xStream.alias(String name, Class Type)为任何一个自定义类创建到类到元素的别名 

    125.          * 如果不使用别名,则生成的标签名为类全名 

    126.          */  

    127.         xStream.alias("person", Person.class);  

    128.         xStream.alias("address", Address.class);  

    129.         //将某一个类的属性,作为xml头信息的属性,而不是子节点  

    130.        

    展开阅读全文
    0 ID:1790 0人购买 0人评价 好评率:0%
    收起
    0条回答
    抱歉,暂无数据
    返回顶部 联系客服 消息中心0