XML 和 Java 技术: XML 持久性的三种方式
2010-04-02 00:00:00 来源:WEB开发网缺点
任何方法有优点就必然有缺点。虽然您可以全面地控制输出的各种细节,但是如果输出配置不当则会导致诸多混乱的问题。换行错误,编写错误和 I/O 错误都是这种方法产生的一些常用问题。除此之外,您还工作于一个非常低的层次,并没有大量的辅助工具(JDOM 在 Format.getPrettyFormat() 和 Format.getCompactFormat() 方法中提供了一些:而 DOM 几乎是一毛不拔)。这意味着您必须要理解编码、输出格式、缩进格式,以及对输出有影响的任何内容。
转换格式
另一个流行的选择是使用 TrAX 和标识转换。TrAX 是 Transformation API for XML 的缩写,它现在是 JAXP 的一部分,而 Java 平台的每一个发行版中都含有 JAXP(除了 Micro Edition)。TrAX 允许您使用 XSL 样式表对 XML 进行转换。由于 XML 经常需要结合 SAX 和 DOM 一起使用,因此 TrAX 可以接收 SAX 事件和 DOM Document 作为输入,并能够轻易地产生输出文件。此外,TrAX 还可以轻松地对这些格式进行相互转换。比如说,您可以使用以 DOM 表示的 XML 文档作为输入,并对它进行转换,然后再将输出发送到文件中。或者您也可以读取文件中的内容,并对它进行转换操作,然后再将结果文档存储到 DOM Document 中。
这种方法的另外一个作用是,您可以使用一个不含任何文档操作的样式表,并使用某种格式作为输入,然后将这种格式输出为任意其他的格式。使用不具转换功能的样式表 — 实际上指不执行任何操作但回转所接收的输入内容的样式表 — 称作 标识转换(identity transformation)。因此您可以从文件中获得文档,然后应用标识转换,最终在 DOM Document 中生成相同的 XML。如果您采用相反的方式 — 从 DOM 到文件 — 那么实际上可以实现持久化存储 XML。这种方法类似于以下过程:
更多精彩
赞助商链接