摘 要:介紹了xml應用中合并XML文檔的方法與應用,在基于XML的應用中,有著廣泛的應用前景。
要害詞:XML文檔 解析器 元素
在XML應用中,最常用也最實用的莫過于XML文件的讀寫。由于XML語義比較嚴格,起始標記必須配對,所以合并XML文檔并不像合并普通文件那樣簡單。在java中,如何合并XML文檔,下面介紹一種方法。
設計思想
應用javax.xml.parsers包中的解析器解析得到兩個XML文件的根元素,再采用遞歸的方式逐一復制被合并文件的元素。

實現過程
為了讀寫XML文件,需要導入如下JAVA包,"http://"后為注釋說明,筆者的環境是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);
}
新聞熱點
疑難解答