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