1 基本介绍
1.1 前言
XStream 是一个轻量级的、简单易用的开放源代码 Java 库,用于将 Java对象序列化为 XML 或者再转换回来。而且 XStream 还能将 java 对象转成其它格式,比如 JSon。
官方上的 XStream 特点:
使用简单
不需要配置映射
速度快,占用内存小
生成的 XML 文件简洁
不需要修改序列化对象的类型
支持类嵌套
详细的错误日志
可转成其它格式
XStream 相比其它框架有如下的优点:
XStream 不关心序列化/逆序列化的类的字段的可见性。
序列化/逆序列化类的字段不需要 getter 和 setter 方法。
序列化/逆序列化的类不需要有默认构造函数。
2 安装和使用
2.1 下载
XStream 的网站 http://xstream.codehaus.org/download.html 上面可以下载到各种版本。目前用最新版本是 1.4.1,下载这个版本即可。
2.2 安装
XStream 的安装方法比较简单,将 xstream-1.4.1.jar 以及 kxml2-2.3.0.jar放置到类路径下面即可使用。如下图所示:
3 开始一个例子
3.1 新建一个空的 java project 工程
通过 eclipse 向导新建一个 Java Project 工程,并将上面提的两个类添加到类路径下。工程如下:
3.2 编写 Java 后台类,代码如下
新建一个 cn 的 package,然后在 cn 下面新建两个 Java 类,Person 和PhoneNumber,代码分别如下:
Person.java
package cn;
public class Person {
private String firstname;
private String lastname;
private PhoneNumber phone;
private PhoneNumber fax;
public Person(String firstName, String lastName) {
this.firstname = firstName;
this.lastname = lastName;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public PhoneNumber getPhone() {
return phone;
}
public void setPhone(PhoneNumber phone) {
this.phone = phone;
}
public PhoneNumber getFax() {
return fax;
}
public void setFax(PhoneNumber fax) {
this.fax = fax;
}
}
PhoneNumber.java
package cn;
public class PhoneNumber {
private int code;
private String number;
public PhoneNumber(int code, String number) {
this.code = code;
this.number = number;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
以上是两个很普通的 Java 对象。下面将写测试代码,将一个 Person 对象转成
xml;然后再从 xml 转成 Java 对象。
在 cn 包下面建立一个 Main.java,代码如下:
package cn;
import com.thoughtworks.xstream.XStream;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
XStream xstream = new XStream();
xstream.alias("person", Person.class);
xstream.alias("phonenumber", PhoneNumber.class);
Person joe = new Person("Joe", "Walnes");
joe.setPhone(new PhoneNumber(123, "1234-456"));
joe.setFax(new PhoneNumber(123, "9999-999"));
String xml = xstream.toXML(joe);
System.out.println(xml);
Person newJoe = (Person)xstream.fromXML(xml);
System.out.println(newJoe.getFirstname());
}
}
3.3 运行测试类
运行上面的 Main.java 类,输出结果如下:
3.4 代码解析
下面主要对 Main.java 中的 main 方法进行详细地解析.
XStream xstream = new XStream();
直接实例化一个 XStream 对象,不用任何参数。这个时候 XSteam 内部会使用 KXml2 的解析工具。也就是上面添加的 kxml2-2.3.0.jar 包。
如果不需要使用这个包的话,可以用 JAXP 的包等。例如:
XStream xstream = new XStream(new DomDriver());
XStream xstream = new XStream(new StaxDriver());
继续下面的代码:
xstream.alias("person", Person.class);
xstream.alias("phonenumber", PhoneNumber.class);
这两句表示对于 xml 中的每个结点,所映射的 Java 类。也就是 person 结点映射到了 Person 类;而 phonenumber 则映射到了 PhoneNumber 类。
下面是实例化对象之类的,比较简单,我们跳过去不将。直接进入:
String xml = xstream.toXML(joe);
这个就是核心所在,即将一个 java 对象转成了 xml。
【下载地址】
百度网盘链接:https://pan.baidu.com/s/1zgjk-LXZOK33Gb0R1oGXHw
提取码:25et
相关文章
使用-JFreeChart来创建基于web的图表
XStream使用文档
WebService发布过程及常见问题
webpack实战入门进阶调优分享
weblogic调优参数及监控指标
weblogic节点管理
weblogic管理控制台概述
weblogic-部署和启动
WebLogic-Server-性能及调优-调优-Java-虚拟机
Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。
Adobe Fireworks CS6 Ansifa绿色精简版百度网盘下载 15
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文破解版百度网盘下载 14
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)破解版百度网盘下载 19
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文破解版软件下载 41
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64
windows10原装正版ISO镜像下载,可装VM(附官方升级工具) 29
1、原版镜像直接安装 (1)双击iso文件,进入DVD驱动器。 (2)点击setup。 (3)点击“是”。 (4)勾选上进入安装下一步。(由于笔者机器已经安win10,所以变成了安装更新,win7的电脑可能会进入真正的安装界面)