[工具库]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 ,如需转载请自行联系原作者
相关文章
|
24天前
|
XML Java 数据格式
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
25 1
|
2月前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
【5月更文挑战第10天】BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
51 1
|
1月前
|
XML 存储 JavaScript
50. 【Android教程】xml 数据解析
50. 【Android教程】xml 数据解析
23 1
|
1月前
|
XML Java 数据格式
Java一分钟之-JAXB:Java对象到XML绑定
【6月更文挑战第1天】Java Architecture for XML Binding (JAXB) 是Java平台标准,用于自动转换Java对象和XML。它通过注解实现声明式映射,简化XML处理。本文介绍了JAXB的基本使用、常见问题和最佳实践,包括对象到XML(Marshalling)和XML到对象(Unmarshalling)过程,并通过示例展示如何在Java类和XML之间进行转换。注意类型匹配、注解冲突和JAXB上下文创建等问题,以及如何优化性能和避免循环引用。
57 3
|
1月前
|
XML Java 数据格式
Spring框架第二章(基于XML管理bean)
Spring框架第二章(基于XML管理bean)
|
2月前
|
XML Java 数据格式
Spring IOC—基于XML配置和管理Bean 万字详解(通俗易懂)
Spring 第二节 IOC—基于XML配置和管理Bean 万字详解!。
289 5
|
27天前
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容
19 0
|
27天前
|
XML Java 数据格式
java解析xml文件内容
java解析xml文件内容
22 0
|
22天前
|
XML Java 数据库
配置applicationContext.xml文件
配置applicationContext.xml文件
|
20天前
|
XML Java 数据库
配置applicationContext.xml文件
配置applicationContext.xml文件