[工具库]JOXMLBuilder工具类——一键把多个bean对象数据转换为XML格式数据

简介:

本人大四即将毕业的准程序员(JavaSE、JavaEE、android等)一枚,小项目也做过一点,于是乎一时兴起就写了一些工具。

我会在本博客中陆续发布一些平时可能会用到的工具。

代码质量可能不是很好,大家多担待!

代码或者思路有不妥之处,还希望大牛们能不吝赐教哈!

 

以下代码为本人原创,转载请注明:

本文转载,来自:http://www.cnblogs.com/tiantianbyconan/archive/2013/02/19/2917398.html

 

JOXMLBuilder工具类:一键把多个域对象数据转换为XML格式数据,方便用于数据的传输和交互。功能类似于通过Gson来生成Json数据。

源码如下:

View Code

 

使用方法如下:
例如:
Student类(该类有属性name,age,isBoy,books等属性;其中books属性是一个List,存放Book对象):

1 private String name;
2 private int age;
3 private boolean isBoy;
4 private List<Book> books;
5 //并实现getter和setter方法;

 

Book类(该类有属性name,author,number,length,width,isBorrowed等属性):

复制代码
1 private String name;
2 private String author;
3 private int number;
4 private float length;
5 private float width;
6 private boolean isBorrowed;
7 //并实现getter和setter方法;
复制代码

 

现在有一个List<Student>类型的数据,通过以下代码把该List转换为xml:

复制代码
 1 List<Student> list = new ArrayList<Student>();
 2 
 3 //构建几个Student对象,放入list中
 4 //……
 5 
 6 //完整数据版(不使用includes和excludes)
 7 JOXMLBuilder jOXMLBuilder = new JOXMLBuilder(list);
 8 jOXMLBuilder.xmlBuild().toString();
 9 
10 //或者使用包括/排除:
11 JOXMLBuilder jOXMLBuilder = new JOXMLBuilder(list, new String[]{"name", "age"}, null);
12 jOXMLBuilder.xmlBuild().toString();
13 
14 //或者使用方法链风格:
15 new JOXMLBuilder().setExcludes("name", "age").xmlBuild().toString();
复制代码

 

转换之后的xml(完整数据版(不使用includes和excludes)):

复制代码
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <StudentAll>
 3         <Student>
 4                 <name>hello</name>
 5                 <age>23</age>
 6                 <isBoy>true</isBoy>
 7                 <BookAll>
 8                         <Book>
 9                                 <name>book1</name>
10                                 <author>author1</author>
11                                 <number>123</number>
12                                 <length>23.5</length>
13                                 <width>18.0</width>
14                                 <isBorrowed>true</isBorrowed>
15                         </Book>
16                         <Book>
17                                 <name>book2</name>
18                                 <author>author2</author>
19                                 <number>43</number>
20                                 <length>42.23</length>
21                                 <width>30.57</width>
22                                 <isBorrowed>false</isBorrowed>
23                         </Book>
24                 </BookAll>
25         </Student>
26 
27         <Student>
28                 <name>world</name>
29                 <age>22</age>
30                 <isBoy>false</isBoy>
31                 <BookAll>
32                          <Book>
33                                 <name>book1</name>
34                                 <author>author1</author>
35                                 <number>123</number>
36                                 <length>23.5</length>
37                                 <width>18.0</width>
38                                 <isBorrowed>true</isBorrowed>
39                         </Book>
40                         <Book>
41                                 <name>book3</name>
42                                 <author>author3</author>
43                                 <number>875</number>
44                                 <length>20.59</length>
45                                 <width>15.08</width>
46                                 <isBorrowed>false</isBorrowed>
47                         </Book>
48                         <Book>
49                                 <name>book4</name>
50                                 <author>author4</author>
51                                 <number>165</number>
52                                 <length>22.75</length>
53                                 <width>19.61</width>
54                                 <isBorrowed>true</isBorrowed>
55                         </Book>
56                 </BookAll>
57         </Student>
58 </StudentAll>
复制代码

 

 

本文转自天天_byconan博客园博客,原文链接:http://www.cnblogs.com/tiantianbyconan/archive/2013/02/19/2917398.html ,如需转载请自行联系原作者
相关文章
|
8月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
91 1
|
5月前
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
126 6
|
8月前
|
XML Java 数据格式
spring复习02,xml配置管理bean
详细讲解了Spring框架中基于XML配置文件管理bean的各种方式,包括获取bean、依赖注入、特殊值处理、属性赋值、集合类型处理、p命名空间、bean作用域及生命周期和自动装配。
spring复习02,xml配置管理bean
|
8月前
|
XML JavaScript 数据格式
xercesc库中文保存XML功能实现
本文介绍了如何使用xercesc库实现中文内容的XML文件保存,包括初始化平台、创建文档、添加节点和序列化输出的完整代码示例。
xercesc库中文保存XML功能实现
|
7月前
|
XML Web App开发 数据格式
HTML 页面显示 XML 数据
10月更文挑战第2天
|
7月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
1320 0
|
7月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
165 1
|
9月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
6月前
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
99 2
|
6月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
563 8