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

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

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 创建新元素的技术(第 14-17 行)非常简单,而且与 DOM 版本不同,Java 中的 XML: Java 文档模型的用法(7),它不需要访问父文档,dom4jdom4j 的顶级代码比 JDOM 的稍微复杂些,或者可以绕过工厂而直接创建组件的实例 — 但在该例中,我只想创建与在文档

创建新元素的技术(第 14-17 行)非常简单,而且与 DOM 版本不同,它不需要访问父文档。

dom4j

dom4j 的顶级代码比 JDOM 的稍微复杂些,但是它们的代码行非常类似。这里的主要区别是我保存了用来构建 dom4j 文档表示的 DocumentFactory (第 5 行),并在输出已修改的文档文本之后刷新了 writer(第 10 行)。


清单 6. dom4j 的顶级代码
 1 // parse the document from input stream 
 2 SAXReader reader = new SAXReader(false); 
 3 Document doc = reader.read(in); 
 4 // recursively walk and modify document 
 5 m_factory = reader.getDocumentFactory(); 
 6 modifyElement(doc.getRootElement()); 
 7 // write the document to output stream 
 8 XMLWriter writer = new XMLWriter(out); 
 9 writer.write(doc); 
10 writer.flush(); 

正如您在清单 6 中看到的,dom4j 使用一个工厂方法来构造文档表示(从语法分析构建)中包含的对象。根据接口来定义每个组件对象,所以实现其中一个接口的任何类型的对象都能包含在表示中(与 JDOM 相反,它使用具体类:这些类在某些情况中可以划分子类和被继承,但是在文档表示中使用的任何类都需要以原始 JDOM 类为基础)。通过使用不同工厂进行 dom4j 文档构建,您能获取不同系列的组件中构造的文档。

在样本代码(第 5 行)中,我检索了用于构建文档的(缺省)文档工厂,并将它存储在一个实例变量( m_factory )中以供 modify 方法使用。并不严格需要这一步 — 可以在一个文档中同时使用来自不同工厂的组件,或者可以绕过工厂而直接创建组件的实例 — 但在该例中,我只想创建与在文档其余部分中使用的同一类型的组件,并且使用相同的工厂来确保完成这个步骤。

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

Tags:Java XML Java

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