📄 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=""><!-- 以下为主体内容 -->
<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"><!-- 正文内容 -->
<DIV class=pt10><B>8.3.2.1 生成应用程序框架</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>下面几节中我们利用SAX分析器读入一个XML文档,然后原样输出其内容,通过这个例子来分析一下SAX接口的应用。实际应用中我们往往要对XML数据做一些特定的处理来完成某种需求,一般不会把照原样输出读入的XML文档。不过,现在我们只是想通过一个具体的应用程序来解释如何应用SAX接口,这不失为一种简单而有效的方法。在示例分析过程中,我们采用的SAX分析器是SUN的JAXP,采用的编程语言是JAVA。</P>
<P>首先,我们创建一个名为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中,实现了JAXP中的所有接口,这样,通过HandleBase的继承类,就可以重载所有我们所关心的方法,而对不关心的方法则采用缺省处理。</P>
<P>由于我们想把这个示例做成一个单独的完整的程序,因此需要一个main方法以及一个命令行参数(用来告诉应用程序对哪个XML文档进行操作)。代码中的黑体部分首先对命令行参数进行处理,获得XML文档的文件名,然后创建了一个文档输出流。<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 + -