Java对象XML序列化框架-Simple2.0

Simple是一个XML序列化框架,一个Java 版本宽容的序列化框架,能够快速在Java 平台上开发XML。支持通过annotations完全配置化的XML结构;提供版本管理框架允许向前和向后兼容序列化;更好的性能,使用轻量级StAX提升XML反序列化 进程,比XStream和JAXB更快;通过namespace annotations提供完全的命名空间支持;包括XML模板系统

目前最新版本为 2.0.1. 官网地址:http://simple.sourceforge.net/home.php

注:不过笔者认为,如果你使用JavaSE 6.0,则建议使用其自带的JAXB (Java Architecture for XML Binding).其使用非常简单,支持通过annotations完全配置化的XML结构。而且其也是Java中的一个规范实现, JAX-RS规范 就使用JAXB来实现对象的序列化功能。

下面是一个简单示例:
先定义一个Example对象, 我们只需要简单的加上Annoation后,就可以进行对象与XML之间的转换。

@Root
public   class  Example {

@Element
    private  String text;

@Attribute
    private   int  index;

public  Example() {
       super ();
   }

public  Example(String text,  int  index) {
       this .text  =  text;
       this .index  =  index;
   }

public  String getMessage() {
       return  text;
   }

public   int  getId() {
       return  index;
   }
}

进行XML序列化操作:

Serializer serializer  =   new  Persister();
Example example  =   new  Example( " Example message " ,  123 );
File result  =   new  File( " example.xml " );

serializer.write(example, result);

下面是生成的XML文件内容:

< example  index ="123" >
    < text > Example message </ text >
</ example >

从XML文件中,反序列化后,得到Example对象实例:

Serializer serializer  =   new  Persister();
File source  =   new  File( " example.xml " );

Example example  =  serializer.read(Example. class , source);

到现在基本的演示完成,API使用起来非常简单。
查看更多示例(包括级联对象的序列化与反序列化操作)

Java对象XML序列化框架-Simple2.0相关推荐

  1. Java对象的序列化与反序列化

    序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.一般将一个对象存储至一个储存媒介,例如文件或是内存缓冲区等.在网络传输过程中,可以是字节或是 ...

  2. 反序列化对象列表发生异常_面试官:你知道Java对象的序列化与反序列化背后的原理吗?...

    序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等.在网络传输过程中,可以是字节或是 ...

  3. Java对象的序列化(Serialization)和反序列化详解

    ####1.序列化和反序列化 序列化(Serialization)是将对象的状态信息转化为可以存储或者传输的形式的过程,一般将一个对象存储到一个储存媒介,例如档案或记忆体缓冲等,在网络传输过程中,可以 ...

  4. java 属性不序列化_怎样对带有不可序列化属性的Java对象进行序列化

    原标题:怎样对带有不可序列化属性的Java对象进行序列化 出于很多原因我们想使用自定义的序列化方法取代Java默认的机制.一个最常见的原因是提高性能,而另一个原因是有时候我们无法使用默认的序列化方法. ...

  5. java对象的序列化和反序列化详细解释

    java对象的序列化和反序列化是什么意思 1.序列化是干啥用的? 序列化的原本意图是希望对一个Java对象作一下"变换",变成字节序列,这样一来方便持久化存储到磁盘,避免程序运行结 ...

  6. Java对象的序列化和反序列化

    [感谢]孤傲苍狼的 Java基础学习总结--Java对象的序列化和反序列化 一.序列化和反序列化的概念 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行 ...

  7. ObjectStreamClass:监视Java对象的序列化

    ObjectStreamClass可以是有用的类,用于分析JVM中加载的序列化类的序列化特征. 这篇文章介绍了此类提供的有关已加载序列化类的一些信息. ObjectStreamClass提供了两个用于 ...

  8. java对象的序列化机制详解

    Java对象的序列化机制 Java对象的序列化,是将内存中的java对象转化为二进制的字节流,然后保存到磁盘中或者在网络上.这就是序列化对象,反序列化顾名思义就是将对象的二进制字节流恢复成原来的对象. ...

  9. Java常用的序列化框架

    什么时候需要序列化? 当你程序里的对象要存储到硬盘或者通过网络传输的时候,你的对象就需要序列化成二进制字节数组.那么,序列化对我们的程序到底有多大影响,如何判断一个序列化框架的好坏?我们一般从如下几个 ...

最新文章

  1. side menu待研究
  2. PointASNL: 点云的Adaptive Sampling(CVPR2020)
  3. oracle join 嵌套,誰能真正理解hash join/nested loop/merge join
  4. 请在贵网站的根目录下部署一个文件_使用 github pages, 快速部署你的静态网页
  5. C#中几种常用的集合的用法
  6. tuxedo错误码6_TUXEDE返回的所有错误代码
  7. C语言程序care用法,词汇精选:care的用法和辨析
  8. Ordering Tasks UVA - 10305(拓扑排序)
  9. 【已解决】SyntaxError: Non-UTF-8 code starting with ‘\xe4‘ in file
  10. JavaScript 一维数组、二维数组(某个属性)去重方法
  11. 第一百六十三节,jQuery,基础核心
  12. 离散数学编程实现真值表输出
  13. pla3d打印材料密度_3D打印材料:透明PLA材料
  14. C语言 水仙花数两种算法
  15. 如何根据笔记本CPU选取合适内存条总结
  16. 爬取了 36141 条评论数据,解读 9.5 分的《海王》是否值得一看
  17. 关于微信小程序uniapp版的推送消息
  18. 如何用C语言实现小游戏——扫雷
  19. 看看别人研究生在做什么,在看看自己---推荐《我这十年》-----一个研究生的自我总结
  20. 【PTA-训练day20】L2-032 彩虹瓶 + L1-080 乘法口诀数列

热门文章

  1. ansible自动化运维(三)——Playbook实战
  2. 企业生产过程中的日志和时间管理详解
  3. html5通html5通,HTML5 history详解
  4. python创建文件夹命令_python文件操作指令
  5. linux系统默认硬盘启动,帮助中心--起点操作系统(StartOS)官方网站
  6. java 1099_【LeetCode(Java) - 1099】小于 K 的两数之和
  7. 【c语言】蓝桥杯算法提高 选最大数
  8. 基础设施即代码:Terraform和AWS无服务器
  9. C#Redis列表List
  10. python yaml用法详解