使用 dom4j 解析 XML(转IBM)
??????dom4j API 包含一个解析 XML 文档的工具。本文中将使用这个解析器创建一个示例 XML 文档。清单 1 显示了这个示例 XML 文档,catalog.xml。
?
?
然后使用同一个解析器修改 catalog.xml,清单 2 是修改后的 XML 文档,catalog-modified.xml。
?
?
????? 与 W3C DOM API 相比,使用 dom4j 所包含的解析器的好处是 dom4j 拥有本地的 XPath 支持。DOM 解析器不支持使用 XPath 选择节点。
?
????? 这个解析器可以从 http://dom4j.org 获取。通过设置使
dom4j-1.4/dom4j-full.jar能够在 classpath 中访问,该文件中包括 dom4j 类、XPath 引擎以及 SAX 和 DOM 接口。如果已经使用了 JAXP 解析器中包含的 SAX 和 DOM 接口,向 classpath 中增加dom4j-1.4/dom4j.jar。dom4j.jar包括 dom4j 类和 XPath 引擎,但是不含 SAX 与 DOM 接口。?
本节讨论使用 dom4j API 创建 XML 文档的过程,并创建示例 XML 文档 catalog.xml。
? 使用 import 语句导入 dom4j API 类:
自动添加到 XML 文档中。清单 3 所示的例子程序 XmlDom4J.java 用于创建 XML 文档 catalog.xml。
??获取
article元素列表,从article元素中的title元素得到一个迭代器,并修改title元素的文本??
?
???
通过和
title元素类似的过程修改author元素。 清单 4 所示的示例程序 Dom4JParser.java 用于把 catalog.xml 文档修改成 catalog-modified.xml 文档。清单 4. 用于修改 catalog.xml 的程序(Dom4Jparser.java)
?
?
这一节说明了如何使用 dom4j 中的解析器修改示例 XML 文档。这个解析器不使用 DTD 或者模式验证 XML 文档。如果 XML 文档需要验证,可以解释用 dom4j 与 JAXP SAX 解析器。