七.转换器(Converter) 我们程序中的POJO是千变万化的,而且需求也是千奇百怪的,所以XStream中的内置的转换器的功能不一定能够满足我们的要求,所以我们就需要自己构建转换器. 1,一个基本的转换器 有如下代码: import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; public class XStreamTest4 { public static void…
九.持久化 在第八节的示例中,当我们操作一组对象时,我们可以指定Writer.OutputStream来写出序列化后的XML数据,我们还可以指定Reader.InputStream来读取序列化后的XML数据.当我们需要写出和读取文件时都需要指定输入输出流,并且需要明确的调用输入输出方法来实现Java对象的序列化和反序列化,其实我们完全可以让Java对象的序列化和反序列化操作隐性的.自动的完成,这就是我们要学的内容:PersistenceStrategy.XmlArrayList.XmlMap和X…
六.使用注解(Annotation) 总是使用XStream对象的别名方法和注册转换器,会让人感到非常的乏味,又会产生很多重复性代码,于是我们可以使用注解的方式来配置要序列化的POJO对象. 1,最基本的注解:类的别名性注解和字段的别名性注解(XStreamAlias) 有这样一段代码: import com.thoughtworks.xstream.XStream; public class XStreamTest3 { public static void main(String[] arg…
五.使用别名(Alias) 首先,有这样一段Java代码: import java.util.ArrayList; import java.util.List; import com.thoughtworks.xstream.XStream; public class XStreamTest2 { public static void main(String[] args) { Blog teamBlog = new Blog(new Author("Guilherme Silveira&quo…
一.简单介绍 XStream是thoughtworks开发的开源框架,用于实现XML数据于Java对象.Json数据的转换.它不需要schema或其他的mapping文件就可以进行java对象和xml文件之间的转换,API调用起来非常方便,并且扩展功能强大. 1,XStream的特点 a)灵活易用:在更高的层次上提供了简单.灵活.易用的统一接口,用户无需了解项目的底层细节 b)无需映射:大多数对象都可以在无需映射的情况下进行序列化与反序列化的操作 c)高速稳定:设计时力求达到的最重要的指标是解析…
八,Object Stream 之前的例子我们都是直接输出Xml成为String类型或者从String中获得并解析Xml,现在我们要处理输入流和输出流! 1,输出流(ObjectOutputStream) 输出流测试程序如下: package cn.tjpu.zhw.xml.xstream5; import java.io.IOException; import java.io.ObjectOutputStream; import com.thoughtworks.xstream.XStream…
摘要:将XML文档与JAVA对象互转是很常见的需求,如果XML定义很规整这很好实现.然而在现实中“不规矩”的XML可能更常见,Marshaller便无能为力了吗?下面是一个小技巧,调整一下思维便能重用Marshaller了,征服它们使工作更简单. 关键词:Marshaller, JAVA, XML   将一个类生成一个Json字符串.将一个Json字符串翻译成一个类(JAVA.C#代码),这一过程已经在“”博客中描述了:在实际项目应用中,如何将一个类生成一个XML文档或XML字符串,如何将一个X…
首先引入所需的jar: xstream-1.4.9.xpp3_min-1.1.4c.dom4j-1.6.1, 或用maven管理jar包时在pom.xml中添加: <!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream --> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId&…
xml xml 是 java 实现的 xml 框架. 希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切. 特点 对象的和 xml 的互相映射 支持注解 @Alias 指定别名 支持注解 @Ignore 指定忽略的字段 变更日志 CHANGE_LOG 快速开始 准备 jdk 1.7+ maven 3.x+ maven 引入 <dependency> <groupId>com.github.houbb</groupId> <artifac…
XML 和 java对象相互转换 博客分类: XML 和 JSON   下面使用的是JDK自带的类,没有引用任何第三方jar包. Unmarshaller 类使客户端应用程序能够将 XML 数据转换为 Java 内容对象树. 备注:marshal(序列化.排列.整理) Marshaller 类使客户端应用程序能够将 Java 内容树转换回 XML 数据. package hb.jaxb; public class Classroom { private int id; private Strin…