Xstream(对象和xml转换)】的更多相关文章

package com.vcredit.framework.utils; import java.io.Writer; import org.apache.commons.lang3.StringUtils; import com.thoughtworks.xstream.XStream;import com.thoughtworks.xstream.core.util.QuickWriter;import com.thoughtworks.xstream.io.HierarchicalStre…
有时候,我们需要把Java对象转换成XML文件.这时可以用JAXB来实现.(JDK1.6及以后的版本无需导入依赖包,因为已经包含在JDK里了) 假如某个公司有许多部门,每个部门有许多职员,我们可以这样来设计简单的bean对象. @XmlRootElement(name="department") public class Department { private String name;    //部门名称 private List<Staff> staffs;      …
1,Student类 package com.yangw.xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement //作为根节点的元素需要设置这个注解 public class Student { private int id; private String name; private int age; private Classroom classroom; public Student(int id, Str…
六.使用注解(Annotation) 总是使用XStream对象的别名方法和注册转换器,会让人感到非常的乏味,又会产生很多重复性代码,于是我们可以使用注解的方式来配置要序列化的POJO对象. 1,最基本的注解:类的别名性注解和字段的别名性注解(XStreamAlias) 有这样一段代码: import com.thoughtworks.xstream.XStream; public class XStreamTest3 { public static void main(String[] arg…
本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例.    我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件.如:jdom.dom4j等.虽然他们的功能非常强大,但在使用上还是有点不那么习惯.对于格式比较固定的XML文档,它的结构没有变化或是很少变化,这时将它转换成我们熟悉的Java对象来操作的话,会使工作变得更容易一些,而xstream正好可以满足这一点.    本文所用xstream的版本为:1.4.7    <dependen…
七.转换器(Converter) 我们程序中的POJO是千变万化的,而且需求也是千奇百怪的,所以XStream中的内置的转换器的功能不一定能够满足我们的要求,所以我们就需要自己构建转换器. 1,一个基本的转换器 有如下代码: import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; public class XStreamTest4 { public static void…
五.使用别名(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…
上一篇文章讲到了使用Java原生的序列化的方式来表示一个对象.总结一下这种对象表示方式的优缺点: 1.纯粹的Java环境下这种方式可以很好地工作,因为它是Java自带的,也不需要第三方的Jar包的支持 2.多语言环境下,使用Java序列化方式进行存储后,很难用其他语言还原出结果 3.占用的字节数比较大,而且序列化.反序列化效率也不高 前面也提到过,对象表示有各种各样的方式,序列化只是其中的一种而已.表示一个对象的目的无非就是为了对象<---->IO之间相互认识,至于怎么认识,那就有很多选择了.…