?? a beginner's guide to the xml dom.htm
字號:
<html>
<head><title>XML DOM 初學者指南</title><link rel="stylesheet" href="../../Global.css" tppabs="http://www.xml.org.cn:8188/Global.css"><link rel="stylesheet" href="../../English.css" tppabs="http://www.xml.org.cn:8188/English.css"></head>
<body LINK="#0000ff">
<table width="30%" border="0" height="30" cellpadding="0" cellspacing="3">
<tr>
<td width="61%">
<p align="left"><a href="../resource.htm" tppabs="http://www.xml.org.cn:8188/resource/resource.htm" target="_parent"><font size="-1" class="normal9">返回學習&研究</font>
</a></p>
</td>
<td width="39%">
<p align="left"><a href="../../default.htm" tppabs="http://www.xml.org.cn:8188/default.htm" target="_parent"><font size="-1"><span class="normal9">返回首頁</span></font></a>
</p>
</td>
</tr>
</table>
<table width="44%" border="0" height="69" cellpadding="0" cellspacing="3" align="center">
<tr>
<td width="50%" height="70">
<h2 align="center"><font size=5>XML DOM </font><font face="宋體" lang="ZH-CN" size=5>初學者指南</font></h2>
<p align="center"><span class="normal105">作者:<a href="mailto:0xLJB6ADCAA4CCCEz/LCS/Legend%25LEGEND@legend.com.cn">董勝濤</a></span></p>
<b></b></td>
</tr>
</table>
<h4 ALIGN="CENTER"> </h4>
<table width="85%" border="0" align="center" class="normal105">
<tr>
<td height="7999"><font size="+1"><span class="normal105"><span class="normal9"><span class="normal105"><span class="normal9"><span class="normal105"><span class="normal105"><span class="normal9"><span class="normal105">
</span></span></span></span></span></span></span></span></font>
<p align="CENTER"><font face="宋體" lang="ZH-CN" size=3>總述:本文主要討論如何利用</font><font size=3>XMLDOM</font><font face="宋體" lang="ZH-CN" size=3>訪問和維護</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>文檔,這個</font><font size=3>XMLDOM</font><font face="宋體" lang="ZH-CN" size=3>由</font><font size=3>Microsoft
</font><font face="宋體" lang="ZH-CN" size=3>解析器實現。</font></p>
<p align="JUSTIFY"><font size=3> </font><font face="宋體" lang="ZH-CN" size=3>目錄:</font></p>
<p align="JUSTIFY"><a href="#1">簡介</a></p>
<p align="JUSTIFY"><font size=3><a href="#2">DOM</a></font><a href="#2"><font lang="ZH-CN" size=3>是什么</font></a></p>
<p align="JUSTIFY"> <font lang="ZH-CN" size=3><a href="#3">如何使用</a></font><a href="#3"><font size=3>DOM</font></a></p>
<p align="JUSTIFY"><font lang="ZH-CN" size=3><a href="#4">如何</a></font><a href="#4"><font size=3>Load</font><font lang="ZH-CN" size=3>一個文檔</font></a></p>
<p align="JUSTIFY"><font lang="ZH-CN" size="3"><a href="#5">處理錯誤</a></font></p>
<p align="JUSTIFY"><font lang="ZH-CN" size=3><a href="#6">如何從</a></font><a href="#6"><font size=3>XML</font><font lang="ZH-CN" size=3>文檔中取得信息</font></a></p>
<p align="JUSTIFY"> <font lang="ZH-CN" size=3><a href="#7">如何遍歷</a></font><a href="#7"><font size=3>XML</font><font lang="ZH-CN" size=3>文檔</font></a></p>
<p align="JUSTIFY"><font lang="ZH-CN" size="3"><a href="#8">下一步該干什么</a></font></p>
<p align="JUSTIFY"><font size=3> </font><font face="宋體" lang="ZH-CN" size=3><a name="1"></a>簡介:</font></p>
<p align="JUSTIFY"><font size=3> </font><font face="宋體" lang="ZH-CN" size=3>作為</font><font size=3>VB</font><font face="宋體" lang="ZH-CN" size=3>的開發者你可能會接觸</font><b><font size=3>eXtensible
Markup Language (XML)</font></b><font face="宋體" lang="ZH-CN" size=3>文檔。你現在想處理</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>文檔并把它集成到你的方案中。你可以自己編程解析,把它當普通文本文檔處理,但這樣作太沒有效率了,沒有利用</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>的強大之處:它可以結構化的表示數據。</font></p>
<p align="JUSTIFY"> <font face="宋體" lang="ZH-CN" size=3>從</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>文件中獲得信息最好的辦法是利用</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>解析器。解析器,簡單的講,就是一個軟件,它可以使</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>文件中的數據易于使用。作為</font><b><font size=3>VB</font></b><font face="宋體" lang="ZH-CN" size=3>的開發者,你可能想得到一個支持</font><b><font size=3>Document
Object Model (DOM)</font></b><font face="宋體" lang="ZH-CN" size=3>的解析器。</font><b><font size=3>DOM</font></b><font face="宋體" lang="ZH-CN" size=3>描述了一系列標準的訪問</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>和</font><font size=3>HTML</font><font face="宋體" lang="ZH-CN" size=3>文檔的方法,這些方法解析器應該實現。一個支持</font><b><font size=3>DOM</font></b><font face="宋體" lang="ZH-CN" size=3>的解析器應該把</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>中的數據變成一系列對象,這樣就可以對這些對象二次編程。在這篇文章中,你會學習如何利用</font><font size=3>Microsoft
</font><font face="宋體" lang="ZH-CN" size=3>解析器(</font><b><font size=3>Msxml.dll</font></b><font face="宋體" lang="ZH-CN" size=3>)實現的</font><b><font size=3>DOM</font></b><font face="宋體" lang="ZH-CN" size=3>結構訪問和維護</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>文檔。</font></p>
<p align="JUSTIFY"> <font face="宋體" lang="ZH-CN" size=3>在我們繼續前進時,讓我們先看一段</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>代碼來了解這個解析器怎樣使我們生活變得容易。下面這個叫</font><b><font size=3>cds.xml</font></b><font face="宋體" lang="ZH-CN" size=3>的文檔用來表示一個唱片的各個項目,每個項目包含象主唱,標題,音軌這樣的信息。</font></p>
<p align="JUSTIFY"><b><font size="3"><? xml version="1.0"?></font></b></p>
<p align="JUSTIFY"><b><font size="3"><! DOCTYPE compactdiscs SYSTEM "cds.dtd"></font></b></p>
<p align="JUSTIFY"><b><font size="3"><compactdiscs></font></b></p>
<p align="JUSTIFY"> <b><font size="3"><compactdisc></font></b></p>
<p align="JUSTIFY"> <b><font size="3"><artist type="individual">Frank
Sinatra</artist></font></b></p>
<p align="JUSTIFY"> <b><font size="3"><title numberoftracks="4">In
The Wee Small Hours</title></font></b></p>
<p align="JUSTIFY"><b><font size="3">	<tracks></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<track>In The Wee Small
Hours</track></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<track>Mood Indigo</track></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<track>Glad To Be Unhappy</track></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<track>I Get Along Without
You Very Well</track></font></b></p>
<p align="JUSTIFY"><b><font size="3">	</tracks></font></b></p>
<p align="JUSTIFY"> <b><font size="3"><price>$12.99</price></font></b></p>
<p align="JUSTIFY"> <b><font size="3"></compactdisc></font></b></p>
<p align="JUSTIFY"> <b><font size="3"><compactdisc></font></b></p>
<p align="JUSTIFY"> <b><font size="3"><artist type="band">The Offspring</artist></font></b></p>
<p align="JUSTIFY"> <b><font size="3"><title numberoftracks="5">Americana</title></font></b></p>
<p align="JUSTIFY"><b><font size="3">	<tracks></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<track>Welcome</track></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<track>Have You Ever</track></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<track>Staring At The
Sun</track></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<track>Pretty Fly (For
A White Guy)</track></font></b></p>
<p align="JUSTIFY"><b><font size="3">	</tracks></font></b></p>
<p align="JUSTIFY"> <b><font size="3"><price>$12.99</price></font></b></p>
<p align="JUSTIFY"> <b><font size="3"></compactdisc></font></b></p>
<p align="JUSTIFY"><b><font size="3"></compactdiscs></font></b></p>
<p align="JUSTIFY"><font face="宋體" lang="ZH-CN" size=3>上面的文檔的第二行引用了一個外部</font><b><font size=3>DTD</font></b><font face="宋體" lang="ZH-CN" size=3>(文檔類型描述),</font><b><font size=3>DTD</font></b><font face="宋體" lang="ZH-CN" size=3>描述了一個特定類型的</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>的層次結構和能包括的內容。</font><b><font size=3>XML</font></b><font face="宋體" lang="ZH-CN" size=3>解析器利用</font><b><font size=3>DTD</font></b><font face="宋體" lang="ZH-CN" size=3>來驗證</font><b><font size=3>XML</font></b><font face="宋體" lang="ZH-CN" size=3>文檔的正確性。</font><font face="宋體" lang="ZH-CN" size=3>DTD只是你用來讓解析器驗證XML文檔是否合法的辦法的一種,另一個越來越受歡迎的方法是</font><b><font size=3>XML</font></b><font size=3>
<b>Schemas</b></font><font face="宋體" lang="ZH-CN" size=3>,它用</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>來描述</font><b><font size=3>Schemas</font></b><font face="宋體" lang="ZH-CN" size=3>而不是</font><b><font size=3>DTD</font></b><font face="宋體" lang="ZH-CN" size=3>。與DTD不同的是,
Schema是用XML來描述的,也就是使用它自己的"有趣的"語法。</font></p>
<p align="JUSTIFY"> <font face="宋體" lang="ZH-CN" size=3>下面的文檔是</font><b><font size=3>cds.xml</font></b><font face="宋體" lang="ZH-CN" size=3>用到的</font><b><font size=3>cds.dtd</font></b><font face="宋體" lang="ZH-CN" size=3>。</font></p>
<p align="JUSTIFY"> <font size="3"><b><! ELEMENT compactdiscs (compactdisc*)></b></font></p>
<p align="JUSTIFY"><b><font size="3">	<! ELEMENT compactdisc (artist,
title, tracks, price)></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<! ENTITY % Type "individual
| band"></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<! ELEMENT artist (#PCDATA)></font></b></p>
<p align="JUSTIFY"><b><font size="3">			<! ATTLIST artist type
(%Type;) #REQUIRED></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<! ELEMENT title (#PCDATA)></font></b></p>
<p align="JUSTIFY"><b><font size="3">			<! ATTLIST title numberoftracks
CDATA #REQUIRED></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<! ELEMENT tracks (track*)></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<! ELEMENT price (#PCDATA)></font></b></p>
<p align="JUSTIFY"><b><font size="3">		<!ELEMENT track (#PCDATA)></font></b></p>
<p align="JUSTIFY"><font face="宋體" lang="ZH-CN" size=3>本文不會對</font><b><font size=3>DTD</font></b><font face="宋體" lang="ZH-CN" size=3>和</font><b><font size=3>XML
Schemas</font></b><font face="宋體" lang="ZH-CN" size=3>討論過深,基于</font><b><font size=3>XML-DATA</font></b><font face="宋體" lang="ZH-CN" size=3>的</font><b><font size=3>XML
Schema Reference</font></b><font face="宋體" lang="ZH-CN" size=3>已提交給</font><b><font size=3>W3c</font></b><font face="宋體" lang="ZH-CN" size=3>。</font></p>
<p align="JUSTIFY"><font size=3> <b><a name="2"></a>DOM</b></font><font face="宋體" lang="ZH-CN" size=3>是什么:</font></p>
<b></b>
<p align="JUSTIFY"><font size=3><b>XML DOM</b></font><font face="宋體" lang="ZH-CN" size=3>結構將</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>文檔的內容實現為一個對象模型。</font><b><font size=3>W3C</font></b><font face="宋體" lang="ZH-CN" size=3>的</font><b><font size=3>DOM
Level 1</font></b> <font face="宋體" lang="ZH-CN" size=3>說明定義了</font><b><font size=3>DOM</font></b><font face="宋體" lang="ZH-CN" size=3>結構如何實現屬性,方法,事件等等。微軟的</font><b><font size=3>DOM</font></b><font face="宋體" lang="ZH-CN" size=3>實現完全支持</font><b><font size=3>W3C</font></b><font face="宋體" lang="ZH-CN" size=3>標準,并且還有許多使程序更容易訪問</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>文件的新增特點。</font></p>
<p align="JUSTIFY"><font size=3> </font><font face="宋體" lang="ZH-CN" size=3><a name="3"></a>如何使用</font><b><font size=3>DOM</font></b></p>
<p align="JUSTIFY"><font face="宋體" lang="ZH-CN" size=3>要使用</font><b><font size=3>DOM</font></b><font face="宋體" lang="ZH-CN" size=3>,需要創建一個</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>解析器的實例。微軟公司在</font><b><font size=3>Msxml.dll</font></b><font face="宋體" lang="ZH-CN" size=3>中創建了一系列標準的</font><b><font size=3>COM</font></b><font face="宋體" lang="ZH-CN" size=3>接口來使創建實例變得可能。</font><b><font size=3>Msxml.dll</font></b><font face="宋體" lang="ZH-CN" size=3>中包含了類型庫和可應用的代碼,這些你可以用來處理</font><font size=3>XML</font><font face="宋體" lang="ZH-CN" size=3>文件。如果你使用可實現腳本的客戶端,比如</font><b><font size=3>VBScript</font></b>
<font face="宋體" lang="ZH-CN" size=3>和</font><b><font size=3>IE</font></b><font face="宋體" lang="ZH-CN" size=3>,你可以使用</font><b><font size=3>CreateObject</font></b><font face="宋體" lang="ZH-CN" size=3>方法來得到解析器的實例。</font></p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -