[工具库]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 ,如需转载请自行联系原作者
相关文章
|
7月前
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
263 7
使用Java和XPath在XML文档中精准定位数据
|
6月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
74 1
|
3月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
3月前
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
89 6
|
6月前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
380 18
|
6月前
|
XML Java 数据格式
spring复习02,xml配置管理bean
详细讲解了Spring框架中基于XML配置文件管理bean的各种方式,包括获取bean、依赖注入、特殊值处理、属性赋值、集合类型处理、p命名空间、bean作用域及生命周期和自动装配。
spring复习02,xml配置管理bean
|
6月前
|
XML JavaScript 数据格式
xercesc库中文保存XML功能实现
本文介绍了如何使用xercesc库实现中文内容的XML文件保存,包括初始化平台、创建文档、添加节点和序列化输出的完整代码示例。
xercesc库中文保存XML功能实现
|
5月前
|
XML Web App开发 数据格式
HTML 页面显示 XML 数据
10月更文挑战第2天
|
5月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
1022 0
|
7月前
|
XML 存储 JavaScript
xml介绍与解析,及xml库包使用
xml介绍与解析,及xml库包使用
72 0