?? 0803-0201.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0803-0201 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 8.3.2.1 生成應用程序框架</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt9 {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt10 {
FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋體"
}
.TempOutline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.TempOutline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage0 {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage111 {
FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
</STYLE>
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0
onload=""><!-- 以下為主體內(nèi)容 -->
<div align="center">
<center>
<TABLE width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<TBODY>
<TR vAlign=top>
<TD width=44 rowSpan=2></TD>
<TD vAlign=center width="503" >
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=39 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="503"><!-- 正文內(nèi)容 -->
<DIV class=pt10><B>8.3.2.1 生成應用程序框架</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>下面幾節(jié)中我們利用SAX分析器讀入一個XML文檔,然后原樣輸出其內(nèi)容,通過這個例子來分析一下SAX接口的應用。實際應用中我們往往要對XML數(shù)據(jù)做一些特定的處理來完成某種需求,一般不會把照原樣輸出讀入的XML文檔。不過,現(xiàn)在我們只是想通過一個具體的應用程序來解釋如何應用SAX接口,這不失為一種簡單而有效的方法。在示例分析過程中,我們采用的SAX分析器是SUN的JAXP,采用的編程語言是JAVA。</P>
<P>首先,我們創(chuàng)建一個名為Echo.java的文件,文件的基本框架為:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%">public class Echo extends HandlerBase{<BR>public
static void main (String argv[]){<BR><STRONG> if (argv.length
!= 1) {<BR> System.err.println ("Usage: cmd
filename");<BR> System.exit (1);<BR> }<BR>
try {// Set up output <BR> streamout = new
OutputStreamWriter (System.out, "GB2312");<BR> }catch
(Throwable t) {<BR> t.printStackTrace ();<BR>
}<BR> System.exit (0);</STRONG><BR>}<BR>static private Writer
out;<BR>}</TD></TR></TBODY></TABLE></CENTER></DIV>
<P>在這段代碼中,Echo類是從HandleBase繼承過來的。在HandleBase中,實現(xiàn)了JAXP中的所有接口,這樣,通過HandleBase的繼承類,就可以重載所有我們所關(guān)心的方法,而對不關(guān)心的方法則采用缺省處理。</P>
<P>由于我們想把這個示例做成一個單獨的完整的程序,因此需要一個main方法以及一個命令行參數(shù)(用來告訴應用程序?qū)δ膫€XML文檔進行操作)。代碼中的黑體部分首先對命令行參數(shù)進行處理,獲得XML文檔的文件名,然后創(chuàng)建了一個文檔輸出流。<BR></P></DIV>
<P></P>
<P></P></TD></TR></TBODY></TABLE>
</center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -