特意构造一个复杂一些的对象结构,将其转换为xml
1. @XStreamAlias("group")
2. publicclassGroup {
3.
4. @XStreamAsAttribute
5. privateString name;
6.
7. privateList users;
8.
9. publicString getName() {
10. returnname;
11. }
12.
13. publicvoidsetName(String name) {
14. this.name = name;
15. }
16.
17. publicList getUsers() {
18. returnusers;
19. }
20.
21. publicvoidsetUsers(List users) {
22. this.users = users;
23. }
24.
25.
1. @XStreamAlias("user")
2. publicclassUser {
3. @XStreamAsAttribute
4. privateString name;
5. privateString userName;
6. privateString password;
7.
8. @XStreamOmitField
9. privateInteger age;
10.
11. publicString getName() {
12. returnname;
13. }
14.
15. publicvoidsetName(String name) {
16. this.name = name;
17. }
18.
19. publicString getUserName() {
20. returnuserName;
21. }
22.
23. publicvoidsetUserName(String userName) {
24. this.userName = userName;
25. }
26.
27. publicString getPassword() {
28. returnpassword;
29. }
30.
31. publicvoidsetPassword(String password) {
32. this.password = password;
33. }
34.
35. publicInteger getAge() {
36. returnage;
37. }
38.
39. publicvoidsetAge(Integer age) {
40. this.age = age;
41. }
42.
- 用来定义xml节点的名字
- 表示此属性是一个属性,而不是子节点
- 表示忽略此字段
- 1.1.3.1.jar,但是在pc下执行,就需要xmlpull-1.1.3.1.jar,因为PC上的jdk没有pull库
1. "code"class="java"style="background-color: rgb(255, 255, 255);">"code"class="java"style="background-color: rgb(255, 255, 255);">"code"class="java">"code"class="java"style="background-color: rgb(255, 255, 255);">"code"class="java"style="background-color: rgb(255, 255, 255);">"code"class="java"> XStream xstream = newXStream();
2. xstream.processAnnotations(Group.class);
3.
4. // data set
5. Group gourp = newGroup();
6. gourp.setName("group name");
7. User user = newUser();
8. user.setName("propName");
9. user.setUserName("user1");
10. user.setPassword("*****");
11. List list = newArrayList();
12. list.add(user);
13. gourp.setUsers(list);
14.
15. String xmlStr = xstream.toXML(gourp);
16. System.out.println(xmlStr);
17. Group result = (Group)xstream.fromXML(xmlStr);//转换xml到对象
18.
19.
20.
21.
22.
23.
24.
25.
26.
27. "code"class="java"style="background-color: rgb(255, 255, 255);">"code"class="html">"group name">
28.
29. "propName">
30. user1
31. *****
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.