20190408 XStream解析List
XStream解析List
使用的JavaBean
- 普通JavaBean
public class Book {
private String name;
public Book() {
}
public Book(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
- 包含List的JavaBean
public class BookBag {
private int price;
private String name;
private Date date;
private List<Book> books;
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public List<Book> getBooks() {
return books;
}
public void setBooks(List<Book> books) {
this.books = books;
}
}
开始测试
1. 初始版
@Test
public void test1() {
BookBag bookBag = new BookBag();
bookBag.setPrice(100);
bookBag.setName("张三");
bookBag.setDate(new Date());
Book book1 = new Book("西游记");
Book book2 = new Book("红楼梦");
ArrayList<Book> books = new ArrayList<>();
books.add(book1);
books.add(book2);
bookBag.setBooks(books);
XStream xStream = new XStream();
String s = xStream.toXML(bookBag);
System.out.println(s);
}
结果:
<test.hwj.bean.BookBag>
<price>100</price>
<name>张三</name>
<date>2019-04-08 07:38:18.854 UTC</date>
<books>
<test.hwj.bean.Book>
<name>西游记</name>
</test.hwj.bean.Book>
<test.hwj.bean.Book>
<name>红楼梦</name>
</test.hwj.bean.Book>
</books>
</test.hwj.bean.BookBag>
2. 为JavaBean加上注释,@XStreamAlias
修改代码:
@XStreamAlias("BookBag")
public class BookBag {
@XStreamAlias("Book")
public class Book {
// 开启注释
xStream.autodetectAnnotations(true);
结果:
<BookBag>
<price>100</price>
<name>张三</name>
<date>2019-04-08 07:45:41.187 UTC</date>
<books>
<Book>
<name>西游记</name>
</Book>
<Book>
<name>红楼梦</name>
</Book>
</books>
</BookBag>
3. 消除List外的大标签
修改代码:
@XStreamImplicit
private List<Book> books;
结果:
<BookBag>
<price>100</price>
<name>张三</name>
<date>2019-04-08 07:47:47.432 UTC</date>
<Book>
<name>西游记</name>
</Book>
<Book>
<name>红楼梦</name>
</Book>
</BookBag>
4. 对Date进行处理
修改代码:
// 注册转换器
xStream.registerConverter(new DateConverter("yyyy-MM-dd HH:mm:ss", null));
结果:
<BookBag>
<price>100</price>
<name>张三</name>
<date>2019-04-08 07:51:30</date>
<Book>
<name>西游记</name>
</Book>
<Book>
<name>红楼梦</name>
</Book>
</BookBag>
20190408 XStream解析List的更多相关文章
- 使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar
使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar
- Xstream解析XML
<oschina> <catalog>1</catalog> <newsCount>0</newsCount> <pagesize&g ...
- (转载)XML解析之-XStream解析
转载来源:http://hwy584624785.iteye.com/blog/1168680 本例使用XStream生成一个xml文件,再发序列化xml文件内容. XStream是一个简单的类库,可 ...
- 使用XStream解析复杂XML并插入数据库(二)
标注黄色地方:我需要加深学习!!! 我写的是webservice,目前具体写webservice的步骤我还不清楚, 整理完小知识开始整理webservice! 针对以下格式的XML进行解析 <? ...
- 使用XStream解析复杂XML并插入数据库(一)
环境: Springboot+mysql 我只想说jpa真的超级好用,准备深入研究一下~ 导入依赖: <dependency> <groupId>org.projectlomb ...
- Xstream 解析xml文件内容
刚刚接手的一个项目,接到一个对接用户数据的需求,对方使用的是xml格式来传输文件,特此记下解析该类文件的方法 public interface XmlResolver<T> { XStre ...
- 【转】十分详细的xStream解析
转自博文:http://www.cnblogs.com/hoojo/archive/2011/04/22/2025197.html xStream框架 xStream可以轻易的将Java对象和xml文 ...
- XStream解析
package com.baidu.farment; import java.io.IOException;import java.util.ArrayList;import java.util.Li ...
- xstream 解析xml报文
一.xml一种格式的数据转换为对象 pom.xml引入 <!--javaBean和XML的双向转换--> <dependency> <groupId>com.tho ...
随机推荐
- RBAC权限管理及使用原生PHP实现
关于RBAC的原理讲解在网上可以找到很多,推荐:编程浪子的RBAC讲解,本篇博客就不再累述RBAC的原理到底是什么样的. 传统的权限控制有ACL和RBAC方式,ACL的耦合度很高,扩展性不佳,RBAC ...
- shell脚本第一课
shell脚本的文件名一般是以.sh结尾,也可以以其他格式如.txt,甚至不加后缀. 脚本的第一行的#!/bin/bash表示指定脚本执行时的解析器. #!/bin/bash #文件名:test.sh ...
- js原生函数
arguments:代表所有的形参的集合: 可以通过arguments: cosole.log(arguments):打印所有参数 console.log(arguments[i]);可以通过访问下标 ...
- [转帖]一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系
一文看懂web服务器.应用服务器.web容器.反向代理服务器区别与联系 https://www.cnblogs.com/vipyoumay/p/7455431.html 我们知道,不同肤色的人外貌差别 ...
- Smarty 变量修饰器
为了更方便的实现 功能与显示分离,通常会用 smarty 将功能代码中的数据 assign 到页面中,在页面中合理使用 smarty 的修饰方法,会使页面显示更美观! 一个数据可同时使用多个修饰函数, ...
- 简单FTP服务器搭建
1 配置IIS 打开控制面板-卸载程序-点击 打开或关闭windows功能-勾选 internet信息服务-确定 2 配置iis web站点 开始菜单-搜索iis并进入iis管理器(计算机-右键-管理 ...
- Lodop打印条码二维码设置多宽不一定是多宽
Lodop输出二维码和条码,可用如下语句,其中下面的width和height参数,设置了条码或二维码多宽,会发现可能不是设置的宽度或高度.ADD_PRINT_BARCODE(Top,Left,Widt ...
- 自学Zabbix3.12-动作Action
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.12-动作Action介绍 1. 动作action 在配置好监控项和触发器之后 ...
- 创建首个 Android 项目
Android 项目包括构成你的 Android 应用的源代码的所有文件. 利用 Android SDK 工具可以简单的创建 默认项目目录和文件来开始一个新的 Android 项目. 本节课展示了如何 ...
- JOISC 2017 自然公园
吐槽 YMD的课件是真的毒,YYB的也很毒. 题目链接 LOJ sol 我是一个一个Subtask做的... Subtask 1 \(O(n^2)\)枚举每两个点有没有边即可. Subtask 2 链 ...