Java 中的 XML: Java 文档模型的用法
2009-11-05 00:00:00 来源:WEB开发网核心提示:在本系列的第一篇文章中,我研究了一些用 Java 编写的主要的 XML 文档模型的性能,Java 中的 XML: Java 文档模型的用法,但是,在开始选择这种类型的技术时,第二段是真正遍历文档表示和执行修改的递归方法,为避免分散注意力,性能只是问题的一部分,使用方便至少是同样重要的
在本系列的第一篇文章中,我研究了一些用 Java 编写的主要的 XML 文档模型的性能。但是,在开始选择这种类型的技术时,性能只是问题的一部分。使用方便至少是同样重要的,并且它已是一个主要理由,来支持使用 Java 特定的模型,而不是与语言无关的 DOM 。
为切实了解哪个模型真正的作用,您需要知道它们在可用性程度上是如何排名的。本文中,我将尝试进行这个工作,从样本代码开始,来演示如何在每个模型中编码公共类型的操作。并对结果进行总结来结束本文,而且提出了促使一种表示比另一种更容易使用的一些其它因素。
请参阅以前的文章来获取这个对比中使用的各个模型的背景资料,包含实际的版本号。还可以参阅“参考资料”一节中关于源代码下载、到模型主页的链接以及其它相关信息。
代码对比
在对不同文档表示中用法技术的这些对比中,我将显示如何在每种模型中实现三种基本操作:
根据输入流构建文档
遍历元素和内容,并做一些更改:
从文本内容中除去前导和尾随的空白。
如果结果文本内容为空,就删除它。
否则,将它包装到父元素的名称空间中一个名为“text”的新元素中。
将已修改的文档写入输出流
这些示例的代码是以我在上篇文章中使用的基准程序为基础的,并进行了一些简化。基准程序的焦点是为了显示每个模型的最佳性能;对于本文,我将尝试显示在每种模型中实现操作的最简便方法。
我已经将每个模型的示例结构化为两个独立的代码段。第一段是读取文档、调用修改代码和编写已修改文档的代码。第二段是真正遍历文档表示和执行修改的递归方法。为避免分散注意力,我已在代码中忽略了异常处理。
更多精彩
赞助商链接