使用Simple简化XML序列化 - 面向对象网,web开发,xml,学习,对象 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > Web开发 > Xml > 正文

使用Simple简化XML序列化

来源: www.bianceng.cn 阅读:

Simple 是什么?

Simple 是一个 Java 框架,用于简化序列化和反序 列化 XML 的过程。使用 Simple,开发人员可以简化(名字由此而来)将简单老 Java 对象(POJO)转换成 XML 文档的过程 — 即所谓的序列化 (serialization)过程。Simple 也可促进相反的过程:开发人员可以将 XML 文 档转换成 POJO — 即所谓的反序列化(deserialization)过程。

Simple 名副其实,它使用注解来支持序列化和反序列化过程。根据相应的 XML 文档应该如何出现,对 POJO 进行注解。一些字段被注解为属性,另一些字 段被注解为元素。类通常被注解为根元素。在序列化过程中,该框架处理冗长的 解释注解和产生相应 XML 文档的过程。无足为奇,在 XML 文档被转换成 POJO 的反序列化过程中,注解也会被解释。

使用 Simple 有几个优势。首先, 它促进快速应用程序开发。Simple 是如此简单,它支持开发人员快速实现健壮的 、使用 XML 序列化和反序列化的应用程序,无需完成长长的学习曲线以及付出繁 重的开发劳动。

其次,Simple 不需要配置。前面已经提到,Simple 使用 注解。这些注解取代了基于 XML 的配置文件(其他框架一般都有这样的配置文件 )。

最后,Simple 只让使用它的应用程序增加少量的内存占用。Java 归 档(Java Archive,JAR)文件只有 239 KB。Simple 也不依赖于一系列其他 JAR 文件,而其他框架则通常不是这样的。

获得 Simple

必须首先下载 Simple,然后才能使用它。但是关于这个过程,既有好消息,也有坏消息。好消 息是,归档文件是免费的。坏消息是,归档文件是 .tar.gz 格式的。所以,您若 是想用 Microsoft® Windows® 本机归档文件解压程序来打开这个归档文 件的话,是会失望的。需要使用 WinZip 或其他类似的归档工具。

解压文件之后,注意在 jar 目录中有一个 JAR 文件(simple-xml-2.1.4.jar )。在编译时和运行时,类路径中需要有这个 JAR 文件。

序列化

将一个对象序列化成一个 XML 文档是一个相当简单的过程。涉及到两步:

创建具有适当注解的 POJO。

编写不多的几行代码,用于真正执行序列化过程。

为了本文目的,我们来回顾一下熟悉的鱼饵主题(当然只有读过我的文章的读 者熟悉)。所以,清单 1 是一个表示鱼饵信息的 POJO。

清单 1. Lure 类

@Root
public class Lure {

    @Attribute
    private String type;

    @Element
    private String company;

    @Element
    private int quantityInStock;

    @Element
    private String model;

    public String getType() {
  return type;
    }

    public void setType(String type) {
      this.type = type;
    }

    public String getCompany() {
      return company;
    }

    public void setCompany(String company) {
      this.company = company;
    }

    public int getQuantityInStock() {
      return quantityInStock;
    }

    public void setQuantityInStock(int quantityInStock) {
      this.quantityInStock = quantityInStock;
    }

    public String getModel() {
      return model;
    }

    public void setModel(String model) {
      this.model = model;
    }
}

这个 POJO 真的没有什么复杂的东西。其唯一可能初看起来不熟悉的部分是注 解。同样,这是故意的。回想一下,Simple 框架的目的就是实现它名字的寓意。

@Root 注解描述 XML 文档的根元素。因为每个 XML 文档都需要一个根元素, 所以一定要记得包含这个元素。

type 字段上面的 @Attribute 注解将该字段识别为属性。该属性被作为一个 属性添加到根元素。

其余注解是 @Element 注解。这些注解位于以下 3 个字段的正上方:company 、quantityInStock 和 model。这些字段代表 XML 文档中的元素。

根据 JavaBean 标准,该 POJO 的其余部分由访问器(accessor)方法和 修 改器(mutator)方法组成。

既然 POJO 已经创建完成了,下面就该编写序列化代码了。参见 清单 2 中的 该代码。

清单 2. LureExample 类

public static void main(String[] args) {
    try {
      Serializer serializer = new Persister();
      Lure lure = new Lure();
      lure.setCompany("Donzai");
      lure.setModel("Marlin Buster");
      lure.setQuantityInStock(23);
      lure.setType("Trolling");

      File result = new File("lure.xml");
      serializer.write(lure, result);
    } catch (Exception e) {
      e.printStackTrace();
    }
}

Tags:
相关文章列表: