XMLBean 概念

XMLBean 概念

XMLBean 提供了一种处理 XML 的直观方法,这种方法使您可以更轻松地访问和操作 Java 中的 XML 数据和文档。

XMLBean 处理 XML 的方法具有以下特征:

  • 它提供了我们熟悉的、基于 Java 对象的 XML 数据视图,并且让您仍然能够访问原始的、纯 XML 结构。
  • XMLBean 不会使 XML 作为文档的完整性丢失。面向 XML 的 API 通常将 XML 拆开,以便绑定到它的各个部分。使用 XMLBean,可以将整个 XML 实例文档作为一个整体加以处理。XML 数据以 XML 的形式存储在内存中。这意味着保留了文档的顺序,以及原始的元素内容和空格。
  • 使用通过 Schema 所生成的类型,可以通过与 JavaBean 类似的存取程序来访问 XML 实例,这个过程需要利用 get 和 set 方法。
  • 从设计一开始就要考虑到 XML Schema,而 XMLBean 支持所有 XML Schema 定义。
  • 访问 XML 的速度很快。

XMLBean 的起点是 XML Schema。Schema(包含在 XSD 文件中)是 XML 文档,它定义了其他 XML 文档必须遵守的一组规则。XML Schema 规范提供了丰富的数据模型,使您可以表达复杂的结构,并对数据加以约束。例如,XML Schema 可以对文档中数据的顺序进行控制,或对特定的值加以约束(例如,生日必须大于 1900)。遗憾的是,在 Java 中,通常要编写自定义代码才能强制实施此类规则。XMLBean 遵守 Schema 约束。

注意: XML Schema 用于为 XML 文档定义规则,而 XML“实例”则是遵守该 Schema 的 XML 文档。

可以通过编译 Schema (XSD) 文件,来生成一组用来镜像该 Schema 的 Java 接口。使用这些类型,可以处理遵守该 Schema 的 XML 实例文档。可以将 XML 实例文档绑定到这些类型;通过 Java 接口所进行的更改会改变基本的 XML 表示。

以前在处理 XML 时可以选择使用 XML 编程接口(如 DOM 或 SAX),或 XML 编组/绑定工具(如 JAXB)。由于它缺乏很强的面向 Schema 的类型功能,因此在面向 DOM 的模型中导航时速度更加缓慢,并需要了解完整的对象模型。JAXB 支持 XML Schema 规范,但只能处理它的一个子集;而 XMLBean 支持它的全部。此外,通过将数据以 XML 的形式存储在内存中,XMLBean 能够减少编组和解除编组的开销。

你可能感兴趣的:(XMLBean 概念)