11.5 修改XML文档
使用dom4j可以非常方便地修改XML文档,步骤如下:
(1)解析XML文档,将XML文档转换为dom4j树。
(2)利用dom4j树提供的导航方法找到需要修改的节点。
(3)修改指定节点,或为指定节点添加新的子节点。
(4)输出修改过的dom4j树。
下面的程序示范了如何修改已有的XML文档:
程序清单:codes\11\11.5\src\lee\Dom4jUpdate.java
上面的程序先解析XML文档,获取XML文档对应的Document对象之后,再获取该XML文档的根元素,并为其添加一个<计算机书籍…/>元素,因此上面的程序每运行一次,目标XML文档(book.xml)的根元素里就将添加一个<计算机书籍…/>元素。
细心的读者可能已经发现了上面的两行粗体字代码,这两行粗体字代码主要用于控制dom4j解析器对XML文档中空白的处理方式:
setMergeAdjacentText:设置解析器将XML元素里相邻的字符串内容合并在一起进行处理。
setStripWhitespaceText:设置解析器忽略XML元素开始标签和结束标签之间的空白。
默认情况下,dom4j解析器会保留XML元素开始标签和结束标签之间的空白(包括空格、制表符和回车等),因此使用dom4j解析器先解析再输出时,XML文档内容会变得比较难看。增加了上面两行粗体字代码之后,重新输出的XML文档将会保持良好的格式。