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