📄 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 + -