[工具库]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 ,如需转载请自行联系原作者
相关文章
|
1月前
|
XML 前端开发 数据格式
请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
【2月更文挑战第22天】【2月更文挑战第67篇】请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
|
2月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
29 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
13天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
22天前
|
Java 数据库连接 mybatis
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
14 1
|
22天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
14 1
|
27天前
|
XML 数据格式
com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
8 0
|
1月前
|
XML 数据格式
AXios接受XML格式的webservice并解析成数据格式
AXios接受XML格式的webservice并解析成数据格式
25 2
|
3月前
|
XML C# 数据格式
c# 追加 数据至xml文件
c# 追加 数据至xml文件
17 0
|
6天前
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
8 0
|
8天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析