⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0803-0204.htm

📁 xml帮助文档
💻 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-0204 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 8.3.2.4 实现DocumentHandler接口</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=3 rowSpan=2></TD>
    <TD vAlign=center width="35" >
     </TD>
    <TD vAlign=center width="615" >
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD vAlign=center width="41" >
     </TD></TR>
  <TR vAlign=top>
    <TD width="35" > </TD>
    <TD width="615" ><!-- 正文内容 -->
      <DIV class=pt10><B>8.3.2.4 实现DocumentHandler接口</B></DIV>
     &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>DocumentHandler接口是我们要用到的一个最重要的JAXP接口,在该接口中,需要一系列的方法,这些方法是SAX分析器在对XML文档进行分析时遇到不同的分析事件所激发的相应处理。目前,主要用到五个方法:startDocument,endDocument,startElement,endElement,以及characters,下面黑体部分所标注的代码就是用来响应这五种事件处理的:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">...<BR>static private Writer out;<BR><STRONG>public 
            void startDocument ()<BR>throws SAXException { }<BR>public void 
            endDocument ()<BR>throws SAXException { }<BR>public void 
            startElement (String name, AttributeList attrs)<BR>throws 
            SAXException { }<BR>public void endElement (String name)<BR>throws 
            SAXException { }<BR>public void characters (char buf [], int offset, 
            int len)<BR>throws SAXException { 
      }</STRONG><BR>...</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>当分析器遇到一个起始标记或者一个结束标记时,标记名就作为一个字符串变量传递给方法startElement和endElement。另外,当遇到起始标记时,起始标记所代表的元素的所有的属性都以AttributeList的形式传递给startElement方法。在一个元素内的字符以一个字符数组的形式传递给characters方法,在characters方法中还有另外两个参数,其中一个代表字符数组的长度,也即字符的个数,另一个参数代表元素内的第一个字符在字符数组中的偏移。</P>
      <P>对于下面所示的XML文档:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;?xml version = 
            "1.0"?&gt;<BR>&lt;addressbook&gt;<BR>&lt;person&gt;<BR>&nbsp; 
            &lt;lastname&gt;Idris&lt;/lastname&gt;<BR>&nbsp; 
            &lt;firstname&gt;Nazmul&lt;/firstname&gt;<BR>&nbsp; 
            &lt;company&gt;The Bean Factory, LLC.&lt;/company&gt;<BR>&nbsp; 
            &lt;email&gt;xml@beanfactory.com&lt;/email&gt;<BR>&lt;/person&gt;<BR>&lt;/addressbook&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>当对它利用SAX分析器中的DocumentHandler接口中的方法进行分析时,方法的调用时序如图所示:</P><FONT face=宋体 
      size=3>
      <P align=center><IMG height=525 
      alt="TU000000-0803-0204-01.gif (16103 bytes)" 
      src="image/TU000000-0803-0204-01.gif" width=614></P>
      <P align=center></FONT> </P>
      <P><BR></P></DIV>
      <P></P>
      <P></P></TD>
    <TD width="41" > </TD></TR></TBODY></TABLE>
  </center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -