- 浏览: 571487 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (98)
- javascript (7)
- jquery (10)
- ajax (3)
- struts2 (4)
- tomcat (4)
- spring (1)
- java (5)
- webservice (4)
- sql (2)
- css (2)
- oracle (1)
- eclipse (3)
- GlassFish (1)
- Jrebel (1)
- mysql (6)
- android (2)
- mongodb (1)
- exception (20)
- web Design (1)
- struts (1)
- cache (0)
- 编程技巧 (0)
- openfire (1)
- activemq (12)
- jsp (1)
- http接口开发的哪些事 (0)
- 架构 (0)
- resin (1)
- 深入架构 (0)
- 监控 (0)
- jvm (0)
- 連接池 (0)
- 個人記錄 (0)
最新评论
-
MUXINGYE:
牛逼!完美!
eclipse中配置tomcat 启动正常 访问报404 -
tonytony3:
...
eclipse中配置tomcat 启动正常 访问报404 -
chishangyang:
签名的时候需要输入密钥库密码短语,你这是怎么解决的
Java之apk 解压、修改、打包、签名(1)--调用工具 -
s312303781:
...
eclipse中配置tomcat 启动正常 访问报404 -
sunsongwen2:
//3----打包 process ...
Java之apk 解压、修改、打包、签名(1)--调用工具
简介:
XStream 是一个轻量级的、简单易用的开放源代码 Java™ 库,用于将 Java 对象序列化为 XML /JSON 或者再转换回来。使用它序列化和逆序列化对象以及从 XML 配置文件读取配置属性。
特点:
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列化工具而不是数据绑定工具,就是说不能从 XML 或者 XML Schema Definition (XSD) 文件生成类。
和其他序列化工具相比,XStream 有三个突出的特点:
1)、XStream 不关心序列化/逆序列化的类的字段的可见性。
2)、序列化/逆序列化类的字段不需要 getter 和 setter 方法。
3)、序列化/逆序列化的类不需要有默认构造函数。
不需要修改类,使用 XStream 就能直接序列化/逆序列化任何第三方类。
闲话小说,直入正题:
一、序列化对象
这个简单的例子示范了如何使用 XStream 序列化/逆序列化对象,包括两个类:Writer 和 Reader。Writer 类使用 XStream API 把 Employee 类型的对象序列化为 XML 并存储到文件中,代码如下。
Reader 类读取该文件,逆序列化 XML 并把数据装入 Java 对象,代码如下。
Employee 实体对象结构如下。
二、读取配置文件
取完整的 XML 文件下面的例子说明了如何读取一个简单的 XML 文件。要读取完整的 XML 文件可能需要编写自定义的转换程序。XStream “Converter Tutorial” 网站(参见 参考资料)提供了编写转化程序的教程。 .多数应用程序都要用到一些属性。这些属性可能是要连接的数据源的名称或者日志文件的位置。配置文件最适合存储这类数据,从而在修改这些属性的时候不需要重新编译应用程序,应用程序维护起来也更容易。下面的例子说明如何在应用程序中使用 XStream 从 XML 配置文件中读取配置属性。
XML 数据绑定通常需要从 XML 文件生成 Java 对象。使用 XStream 省略了生成对象这个步骤。只需要编写一个 Java 类将类的字段映射到希望读取的 XML 的元素。这个例子使用的配置文件如下:
Config.xml
ConfigReader 类读取该配置文件并将属性加载到 Java 对象中,代码如下:
ConfigReader.java
创建和开发使用 XStream 的应用程序只需要简单的几个步骤。本文介绍如何使用 XStream 读取文件生成JavaBean对象,JavaBean与XML/JSON之间转换,请看下文。
原文地址:http://www.ibm.com/developerworks/cn/xml/x-xstream/
XStream 是一个轻量级的、简单易用的开放源代码 Java™ 库,用于将 Java 对象序列化为 XML /JSON 或者再转换回来。使用它序列化和逆序列化对象以及从 XML 配置文件读取配置属性。
特点:
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列化工具而不是数据绑定工具,就是说不能从 XML 或者 XML Schema Definition (XSD) 文件生成类。
和其他序列化工具相比,XStream 有三个突出的特点:
1)、XStream 不关心序列化/逆序列化的类的字段的可见性。
2)、序列化/逆序列化类的字段不需要 getter 和 setter 方法。
3)、序列化/逆序列化的类不需要有默认构造函数。
不需要修改类,使用 XStream 就能直接序列化/逆序列化任何第三方类。
闲话小说,直入正题:
一、序列化对象
这个简单的例子示范了如何使用 XStream 序列化/逆序列化对象,包括两个类:Writer 和 Reader。Writer 类使用 XStream API 把 Employee 类型的对象序列化为 XML 并存储到文件中,代码如下。
package com.samples; import java.io.FileNotFoundException; import java.io.FileOutputStream; import com.thoughtworks.xstream.*; public class Writer { public static void main(String[] args) { Employee e = new Employee(); //Set the properties using the setter methods //Note: This can also be done with a constructor. //Since we want to show that XStream can serialize //even without a constructor, this approach is used. e.setName("Jack"); e.setDesignation("Manager"); e.setDepartment("Finance"); //Serialize the object XStream xs = new XStream(); //Write to a file in the file system try { FileOutputStream fs = new FileOutputStream("c:/temp/employeedata.txt"); xs.toXML(e, fs); } catch (FileNotFoundException e1) { e1.printStackTrace(); } } }
Reader 类读取该文件,逆序列化 XML 并把数据装入 Java 对象,代码如下。
package com.samples; import java.io.FileInputStream; import java.io.FileNotFoundException; import com.thoughtworks.xstream.*; import com.thoughtworks.xstream.io.xml.DomDriver; public class Reader { public static void main(String[] args) { XStream xs = new XStream(new DomDriver()); Employee e = new Employee(); try { FileInputStream fis = new FileInputStream("c:/temp/employeedata.txt"); xs.fromXML(fis, e); //print the data from the object that has been read System.out.println(e.toString()); } catch (FileNotFoundException ex) { ex.printStackTrace(); } } }
Employee 实体对象结构如下。
package com.samples; public class Employee { private String name; private String designation; private String department; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDesignation() { return designation; } public void setDesignation(String designation) { this.designation = designation; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } @Override public String toString() { return "Name : "+this.name+ "\nDesignation : "+this.designation+ "\nDepartment : "+this.department; } }
二、读取配置文件
取完整的 XML 文件下面的例子说明了如何读取一个简单的 XML 文件。要读取完整的 XML 文件可能需要编写自定义的转换程序。XStream “Converter Tutorial” 网站(参见 参考资料)提供了编写转化程序的教程。 .多数应用程序都要用到一些属性。这些属性可能是要连接的数据源的名称或者日志文件的位置。配置文件最适合存储这类数据,从而在修改这些属性的时候不需要重新编译应用程序,应用程序维护起来也更容易。下面的例子说明如何在应用程序中使用 XStream 从 XML 配置文件中读取配置属性。
XML 数据绑定通常需要从 XML 文件生成 Java 对象。使用 XStream 省略了生成对象这个步骤。只需要编写一个 Java 类将类的字段映射到希望读取的 XML 的元素。这个例子使用的配置文件如下:
Config.xml
<?xml version="1.0" encoding="UTF-8"?> <config> <datasource-name>IRIS</datasource-name> <ipaddress>9.124.74.85</ipaddress> <logfilename>DailyLogApplication.log</logfilename> <appender>console</appender> </config>
ConfigReader 类读取该配置文件并将属性加载到 Java 对象中,代码如下:
ConfigReader.java
package com.samples; import java.io.FileInputStream; import java.io.FileNotFoundException; import com.thoughtworks.xstream.*; import com.thoughtworks.xstream.io.xml.DomDriver; public class ConfigReader { String datasourcename = null; String ipaddress = null; String logfilename = null; String appender = null; @Override public String toString() { // This method prints out the values stored in the member variables return "Datasource Name : "+datasourcename+ " \nIP Address : "+ipaddress+ " \nLogfilename : "+logfilename+ " \nAppender : "+appender; } /** * @param args * @throws FileNotFoundException */ public static void main(String[] args) throws FileNotFoundException { XStream xs = new XStream(new DomDriver()); FileInputStream fis = new FileInputStream("c:/temp/Config.xml"); xs.aliasField("datasource-name", ConfigReader.class, "datasourcename"); xs.alias("config", ConfigReader.class); ConfigReader r = (ConfigReader)xs.fromXML(fis); System.out.println(r.toString()); } }
创建和开发使用 XStream 的应用程序只需要简单的几个步骤。本文介绍如何使用 XStream 读取文件生成JavaBean对象,JavaBean与XML/JSON之间转换,请看下文。
原文地址:http://www.ibm.com/developerworks/cn/xml/x-xstream/
发表评论
-
JVM参数
2014-07-15 13:54 0JVM系列三:JVM参数设置、分析 http://www.cn ... -
java深入
2014-07-15 10:21 0java性能优化 Java字符串之性能优化 http://i ... -
項目管理
2014-07-15 09:44 0IT行业管理者的必备知识 http://www.iteye.c ... -
学习文章记录
2014-06-20 09:50 0# java 深入---------------------- ... -
开发工具-(maven)
2014-06-09 11:00 0maven 简单实用教程 注:用maven命令创建项目 htt ... -
http资料汇总
2014-05-16 10:08 0相关概念: 微服务架构解析 使用httpclient必须知道 ... -
java复习2013
2013-12-30 20:26 0基本数据类型 Java数据类型精解 Java中的基本数据类型 ... -
用javap查看编译版本
2013-08-23 10:59 1586我们可以用javap命令查看class文件的编译版本。 比如 ... -
设计模式
2013-06-03 09:47 0总体来说设计模式分为 ... -
java基础知识复习
2013-02-21 15:01 0一、基本数据类型 二、java中的堆、栈 http://b ... -
apktool之APK解压、打包
2012-09-26 21:51 47185简介: Android apktool是一个用来处理A ... -
iBatis中使用动态查询
2012-07-05 14:20 0iBatis中的动态查询还是比较好用的 如果想深入学习,可 ... -
利用 Java Web Start发布你用java程序
2012-05-10 22:27 0aaaaaaaaaaaaaaaaaaaaaa -
使用MAT分析Tomcat内存溢出
2012-04-17 18:16 011111111111111111111 -
hibernate 复习
2012-04-09 17:51 0http://www.open-open.com/doc/vi ... -
J2EE集群原理
2012-04-05 14:22 0J2EE集群原理--转载 -
工厂模式(转载)
2012-03-07 10:44 0一、引子 话说十年前,有一个爆发户,他家有三辆汽车( ... -
并发集合类 ConcurrentHashMap 和 CopyOnWriteArrayList(转)
2011-10-19 09:23 976在Java类库中出现的第一个关联的集合类是 H ... -
XStream 轻松搞定JAVA对象与XML/JSON之间相互转换
2011-05-19 22:31 10490上一遍已对xstream进行了初步认识,此处就不再多作介 ... -
java 学习网站
2011-05-18 18:38 0http://scjp.home.sohu.com/ 模拟试题 ...
相关推荐
xstream 将xml文档转换成 java对象,然后就可以利用json库转成json对象啦。
XStream测试Demo-xml与java对象的相互转换
xstream轻松解析xml到java对象,内附样例。so easy!妈妈再也不用担心我的xml解析。
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列...
Java对象转换成XML字符串 将List集合转换成xml文档 Map集合转换xml文档 用InputStream将XML文档转换成java对象
Xstream_java对象和xml的互相转换
xstream-1.1.3正反序列化JAVA对象 xstream-1.1.3.jar 使用xstream-1.1.3.jar 进行序列化 JAVA 对象的示例三个
利用XStream读写xml文件
好用的xStream XML和JAVA对象互相转换的简单示例,内附依赖的xstream-1.3.1.jar和xpp3_min-1.1.4c.jar
java中对象与xml转换,实例带完整源码
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...
这个是 对于要把数据库获得的 list 转换成 xml 有了XStream在Java对象和XML之间相互转换 就变得非常容易了 嘿嘿
NULL 博文链接:https://username2.iteye.com/blog/1815277
xStream完美转换XML、JSON,包括XML转换成对象,以及对象转换成XML,以及对象转换成JSON,以及注意事项
NULL 博文链接:https://forestqqqq.iteye.com/blog/1995092
android XMl 解析神奇xstream 二: 把对象转换成xm
它可以将Java对象转换为XML文档,也可以将XML文档转换为Java对象。 pom引用 <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.20 实体类和测试类详见博客 ...
有jar包。在附件。全的,代码也有,,直接运行
NULL 博文链接:https://yangliuwillow.iteye.com/blog/1528435