📄 0802-0200.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0802-0200 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 8.2.2 DOM树</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=43 rowSpan=2></TD>
<TD vAlign=center width="537" >
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=43 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="537" ><!-- 正文内容 -->
<DIV class=pt10><B>8.2.2 DOM树</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>前面我们讲过,DOM为我们提供的访问XML文档信息的媒介是一种分层对象模型,而这个层次的结构,则是一棵根据XML文档生成的节点树。</P>
<P>一个XML分析器,在对XML文档进行分析之后,不管这个文档有多简单或者多复杂,其中的信息都会被转化成一棵对象节点树。在这棵节点树中,有一个根节点--Document节点,所有其他的节点都是根节点的后代节点。节点树生成之后,就可以通过DOM接口访问、修改、添加、删除、创建树中的节点和内容。</P>
<P>以我们非常熟悉的客户联系信息的例子来说明,下面给出一个XML文档片段:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><?xml version="1.0" encoding="gb_2312"
?><BR><BR><addressbook><BR><person sex =
"male"><BR> <name>张三</name><BR>
<email>zhs@xml.net.cn</email><BR></person><BR><BR><person
sex = "male"><BR> <name>李四</name><BR>
<email>ls@xml.net.cn</email><BR></person><BR></addressbook></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>用DOM来表示这段文档,如图所示:</P><FONT face=宋体 size=3>
<P align=center><IMG height=275
src="image/TU000000-0802-0200-01.gif" width=425></FONT></P>
<P>在这棵文档对象树中,文档中所有的内容都是用节点来表示的。一个节点又可以包含其他节点,节点本身还可能包含一些信息,例如节点的名字、节点值、节点类型等。文档中的根实际上也是一个元素,之所以要把它单独列出来,是因为在XML文档中,所有其他元素都是根元素的后代元素,而且根元素是唯一的,具有其他元素所不具有的某些特征。</P>
<P>这个例子比较简单,事实上,DOM中还包含注释、处理指令、文档类型、实体、实体引用、命名空间、事件、样式单等多种对象模型。</P>
<P>文档对象模型利用对象来把文档模型化,这些模型不仅描述了文档的结构,还定义了模型中对象的行为。换句话说,在上面给出的例子里,图中的节点不是数据结构,而是对象,对象中包含方法和属性。在DOM中,对象模型要实现:
<UL>
<LI>用来表示、操作文档的接口
<LI>接口的行为和属性
<LI>接口之间的关系以及互操作<BR></LI></UL></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 + -