Java中合并XML文档 设计与实现
2008-01-05 08:25:10 来源:WEB开发网摘 要:介绍了xml应用中合并XML文档的方法与应用,在基于XML的应用中,有着广泛的应用前景。
要害词:XML文档 解析器 元素
在XML应用中,最常用也最实用的莫过于XML文件的读写。由于XML语义比较严格,起始标记必须配对,所以合并XML文档并不像合并普通文件那样简单。在java中,如何合并XML文档,下面介绍一种方法。
设计思想
应用javax.xml.parsers包中的解析器解析得到两个XML文件的根元素,再采用递归的方式逐一复制被合并文件的元素。
实现过程
为了读写XML文件,需要导入如下JAVA包,"//"后为注释说明,笔者的环境是JDK 1.3.1,在JDK 1.4.0中测试也通过。
Import java.io. *; //Java基础包,包含各种IO操作
Import java.util. *; //Java基础包,包含各种标准数据结构操作
Import javax.xml.parsers. *; //XML解析器接口
Import org.w3c.dom. *; //XML的DOM实现
import org.apache.crimson.tree.XmlDocument;//写XML文件要用到
Import javax.xml.transform. *;
Import javax.xml.transform.dom. *;
Import javax.xml.transform.stream. *;
下面介绍合并XML文档的过程。先说明一下各个方法的作用。方法is Merging()有两个参数(分别是目标XML文件名和被合并的XML文件名),调用JAVA的解析器,获得两个要合并的XML文档的Document结构和根元素,并调用方法duplicate()和方法write To()。当然,在XML文档的合并过程中,可以加入另外的一些判定条件,比如,当被合并XML文档不存在时,将如何处理,等等。
PRivate Boolean is Merging (String mainFileName, String sub Filename) throws Exception {
Boolean isOver = false;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
Document Builder db = null;
Try {
Db = dbf.newDocumentBuilder ();
} Catch (ParserConfigurationException pce) {
System.err.println(pce); //出现异常时,输出异常信息
}
Document doc_main = null,doc_vice = null;
//获取两个XML文件的Document。
Try {
Doc_main = db.parse (mainFileName);
Doc_vice = db.parse (sub Filename);
} Catch (DOM Exception dom) {
System.err.println (dom.getMessage ());
} Catch (Exception ioe) {
System.err.println (ioe);
}
更多精彩
赞助商链接