WEB开发网
开发学院软件开发Java Java 中的 XML: Java 文档模型的用法 阅读

Java 中的 XML: Java 文档模型的用法

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 清单 3 中的 Crimson DOM 示例代码使用了用于语法分析的 JAXP 接口,JAXP 为语法分析和转换 XML 文档提供了一个标准化的接口,Java 中的 XML: Java 文档模型的用法(5),本示例中的语法分析代码还可以用于 Xerces(对文档构建器类名称的特性设置有适当的更改

清单 3 中的 Crimson DOM 示例代码使用了用于语法分析的 JAXP 接口。JAXP 为语法分析和转换 XML 文档提供了一个标准化的接口。本示例中的语法分析代码还可以用于 Xerces(对文档构建器类名称的特性设置有适当的更改)来替代较早给定的 Xerces 特定的示例代码。

在本示例中,我首先在第 2 行到第 3 行中设置系统特性来选择要构造的 DOM 表示的构建器工厂类(JAXP 仅直接支持构建 DOM 表示,不支持构建本文中讨论的任何其它表示)。仅当想选择一个要由 JAXP 使用的特定 DOM 时,才需要这一步;否则,它使用缺省实现。出于完整性起见,我在代码中包含了设置这个特性,但是更普遍的是将它设置成一个 JVM 命令行参数。

接着我在第 4 行到第 6 行中创建构建器工厂的实例,对使用那个工厂实例构造的构建器启用名称空间支持,并从构建器工厂创建文档构建器。最后(第 7 行),我使用文档构建器来对输入流进行语法分析并构造文档表示。

为了写出文档,我使用 Crimson 中内部定义的基本方法。不保证在 Crimson 未来版本中支持这个方法,但是使用 JAXP 转换代码来将文档作为文本输出的替代方法需要诸如 Xalan 那样的 XSL 处理器的。那超出了本文的范围,但是要获取详细信息,可以查阅 Sun 中的 JAXP 教程。

JDOM

使用 JDOM 的顶级代码比使用 DOM 实现的代码稍微简单一点。为构建文档表示(第 1-3 行),我使用带有由参数值禁止验证的 SAXBuilder 。通过使用提供的 XMLOutputter 类,将已修改的文档写入输出流同样简单(第 6-8 行)。


清单 4. JDOM 顶级代码
 1 // parse the document from input stream 
 2 SAXBuilder builder = new SAXBuilder(false); 
 3 Document doc = builder.build(in); 
 4 // recursively walk and modify document 
 5 modifyElement(doc.getRootElement()); 
 6 // write the document to output stream 
 7 XMLOutputter outer = new XMLOutputter(); 
 8 outer.output(doc, out); 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Java XML Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接