?? java中合并xml文檔的設計與實現 - fanqiang_com.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0064)http://fanqiang.chinaunix.net/program/html/2005-06-16/3313.shtml -->
<HTML><HEAD><TITLE>Java中合并XML文檔的設計與實現 - fanqiang.com</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>BODY {
FONT: 12pt 宋體
}
TH {
FONT: 12pt 宋體
}
INPUT {
FONT: 12pt 宋體
}
SELECT {
FONT: 12pt 宋體
}
TEXTAREA {
FONT: 12pt 宋體
}
SELECT {
FONT: 12pt 宋體
}
checkbox {
FONT: 12pt 宋體
}
A:link {
COLOR: #e6a306; TEXT-DECORATION: underline
}
A:visited {
COLOR: #e6a306; TEXT-DECORATION: underline
}
A:hover {
COLOR: #ffff00; TEXT-DECORATION: underline
}
BODY {
FONT-SIZE: 12pt; FONT-FAMILY: "宋體", "serif"
}
TD {
FONT-SIZE: 12pt; FONT-FAMILY: "宋體", "serif"
}
P {
FONT-SIZE: 9pt; LINE-HEIGHT: 150%
}
</STYLE>
<META content="MSHTML 6.00.2800.1505" name=GENERATOR></HEAD>
<BODY text=#ffffff bgColor=#000000 leftMargin=0
background="Java中合并XML文檔的設計與實現 - fanqiang_com.files/bline.gif" topMargin=5
onload=setTailPosition() marginwidth="0" marginheight="5">
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
<TBODY>
<TR>
<TD height=45>
<P align=center><IMG alt="[ 永遠的UNIX::UNIX技術資料的寶庫 ]"
src="Java中合并XML文檔的設計與實現 - fanqiang_com.files/title.gif"> </P></TD></TR>
<TR>
<TR>
<TD vAlign=bottom align=left height=40><SMALL><A
href="http://fanqiang.chinaunix.net/">首頁</A> > 編程技術 > <A
href="http://fanqiang.chinaunix.net/program/html/index.shtml">HTML/JS/XML</A>
> 正文</SMALL></TD></TR>
<TR>
<TD width="100%" bgColor=#d09f0d colSpan=5 height=2><IMG height=1
src="Java中合并XML文檔的設計與實現 - fanqiang_com.files/c.gif"
width=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
<TBODY>
<TR>
<TD vAlign=top align=middle><BR>
<TABLE cellSpacing=0 cellPadding=0 width="90%" align=center border=0>
<TBODY>
<TR>
<TH class=f24>
<H1>Java中合并XML文檔的設計與實現</H1></TH></TR>
<TR>
<TD align=middle height=20><FONT color=#999999><SMALL>作者:凌宗虎 李先國
計算機與信息技術 (2005-06-16 11:06:49)</SMALL></FONT></TD></TR>
<TR>
<TD><BR></TD></TR>
<TR>
<TD height=15></TD></TR>
<TR>
<TD class=l17><FONT class=f14 id=zoom><FONT color=#cccccc><!-- 正文begin --><STRONG>摘
要</STRONG>:介紹了XML應用中合并XML文檔的方法與應用,在基于XML的應用中,有著廣泛的應用前景。<BR><BR> <B>關鍵詞</B>:XML文檔
解析器
元素<BR><BR> 在XML應用中,最常用也最實用的莫過于XML文件的讀寫。由于XML語義比較嚴格,起始標記必須配對,所以合并XML文檔并不像合并普通文件那樣簡單。在JAVA中,如何合并XML文檔,下面介紹一種方法。<BR><BR> <B>設計思想</B><BR><BR> 應用javax.xml.parsers包中的解析器解析得到兩個XML文件的根元素,再采用遞歸的方式逐一復制被合并文件的元素。
<BR><BR>
<TABLE width="90%" align=center border=0>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG
src="Java中合并XML文檔的設計與實現 - fanqiang_com.files/3vuadvmybmxx.gif"
border=0></DIV></TD></TR></TBODY></TABLE><BR> <B>實現過程</B><BR><BR> 為了讀寫XML文件,需要導入如下JAVA包,"//"后為注釋說明,筆者的環境是JDK
1.3.1,在JDK 1.4.0中測試也通過。 <BR><BR>
<TABLE borderColor=#ffcc66 width="90%" align=center bgColor=#dadacf
border=1>
<TBODY>
<TR>
<TD>Import java.io. *; //Java基礎包,包含各種IO操作 <BR>Import
java.util. *; //Java基礎包,包含各種標準數據結構操作 <BR>Import
javax.xml.parsers. *; //XML解析器接口 <BR>Import org.w3c.dom. *;
//XML的DOM實現 <BR>import
org.apache.crimson.tree.XmlDocument;//寫XML文件要用到<BR>Import
javax.xml.transform. *;<BR>Import javax.xml.transform.dom.
*;<BR>Import javax.xml.transform.stream.
*;</TD></TR></TBODY></TABLE><BR> 下面介紹合并XML文檔的過程。先說明一下各個方法的作用。方法is
Merging()有兩個參數(分別是目標XML文件名和被合并的XML文件名),調用JAVA的解析器,獲得兩個要合并的XML文檔的Document結構和根元素,并調用方法duplicate()和方法write
To()。當然,在XML文檔的合并過程中,可以加入另外的一些判斷條件,比如,當被合并XML文檔不存在時,將如何處理,等等。<BR><BR>
<TABLE borderColor=#ffcc66 width="90%" align=center bgColor=#dadacf
border=1>
<TBODY>
<TR>
<TD>Private Boolean is Merging (String mainFileName, String
sub Filename) throws Exception {<BR> Boolean isOver =
false;<BR> DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();<BR> Document Builder db
= null;<BR> Try {<BR> Db = dbf.newDocumentBuilder ();<BR> }
Catch (ParserConfigurationException pce)
{<BR> System.err.println(pce);
//出現異常時,輸出異常信息<BR> }<BR> Document doc_main = null,doc_vice =
null;<BR> //獲取兩個XML文件的Document。<BR> Try {<BR> Doc_main =
db.parse (mainFileName);<BR> Doc_vice = db.parse (sub
Filename);<BR> } Catch (DOM Exception dom)
{<BR> System.err.println (dom.getMessage ());<BR> } Catch
(Exception ioe) {<BR> System.err.println
(ioe);<BR> }<BR> //獲取兩個文件的根元素。<BR> Element root_main =
doc_main.getDocumentElement ();<BR> Element root_vice =
doc_vice.getDocumentElement
();<BR> //下面添加被合并文件根節點下的每個元素<BR> Novelist message Items =
root_vice.getChildNodes ();<BR> Int item_number =
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -