DOM 定义了分析程序应当显露的标准命令集,使您能够在程序中访问 HTML 和 XML 文档内容。支持 DOM 的 XML 分析程序取出 XML 文档中的数据,并通过一组可以对它编程的对象来显露它。在这篇文章中,您将学会当 XML 文档被 Microsoft(R) XML Parser 显露之后,如何通过执行 XML DOM 来访问和操作它 (Msxml.dll)。
在往下阅读之前,应当看一下原始的 XML 文件,以便对分析程序如何使您的生活更加轻松有个概念。下面的代码显露了含有压缩盘项目的文件 Cds.xml 的内容。每一项都含有诸如艺术家、标题和曲目等信息。
广州网站建设,网站建设,广州网页设计,广州网站设计
- <?xml version="1.0"?>
- <!DOCTYPE compactdiscs SYSTEM "cds.dtd">
- <compactdiscs>
- <compactdisc>
- <artist type="individual">Frank Sinatra</artist>
- <title numberoftracks="4">In The Wee Small Hours</title>
- <tracks>
- <track>In The Wee Small Hours</track>
- <track>Mood Indigo</track>
- <track>Glad To Be Unhappy</track>
- <track>I Get Along Without You Very Well</track>
- </tracks>
- <price>$12.99</price>
- </compactdisc>
- <compactdisc>
- <artist type="band">The Offspring</artist>
- <title numberoftracks="5">Americana</title>
- <tracks>
- <track>Welcome</track>
- <track>Have You Ever</track>
- <track>Staring At The Sun</track>
- <track>Pretty Fly (For A White Guy)</track>
- </tracks>
- <price>$12.99</price>
- </compactdisc>
- </compactdiscs>
以上文档的第二行涉及外部的 DTD,或者叫做“文档类型定义”文件。DTD 定义了特定类型 XML 文档的布局和预期内容。XML 分析程序可以使用 DTD 来确定文档是否有效。DTD 仅是一种方法,可以使用它帮助分析程序验证文档。还有一个越来越流行的验证文档的方法就是“XML 架构”。和 DTD 不同的是,我们使用 XML 定义架构,而 DTD 则使用它们自己“有趣的”语法。下面的代码显示了 Cds.xml 使用的 Cds.dtd 的内容:
- <!ELEMENT compactdiscs (compactdisc*)>
- <!ELEMENT compactdisc (artist, title, tracks, price)>
- <!ENTITY % Type "individual | band">
- <!ELEMENT artist (#PCDATA)>
- <!ATTLIST artist type (%Type;) #REQUIRED>
- <!ELEMENT title (#PCDATA)>
- <!ATTLIST title numberoftracks CDATA #REQUIRED>
- <!ELEMENT tracks (track*)>
- <!ELEMENT price (#PCDATA)>
- <!ELEMENT track (#PCDATA)>
这篇文章并不打算深入探讨 DTD 和“XML架构”。XML架构语言是基于XML数据注释(符合 W3C)的。
广州网站建设,网站建设,广州网页设计,广州网站设计
DOM 的确切定义是什么?
XML 的 DOM 是个对象模型,它显露 XML 文档的内容。W3C 的文档对象模型 (DOM) 1 级规格 通常定义了 DOM 应当显露为什么属性、方法和事件。Microsoft 的 DOM 执行方法完全支持 W3C 标准,它的一些其他特性更便于在程序中使用 XML 文件。
如何使用 XML Dom?
通过创建 XML 分析程序的实例来使用 XML DOM。为此,Microsoft 通过 Msxml.dll 中的一组标准 COM 界面来显露 XML DOM。Msxml.dll 含有使用 XML 文档时用到的类库和执行代码。如果您正在使用有脚本的客户程序,如 Internet Explorer 中的 VBScript 执行,则通过用 CreateObject 方法创建分析程序对象的实例,来使用 DOM。
- Set objParser = CreateObject( "Microsoft.XMLDOM" )
如果您正在使用来自 Active Server Page(ASP) 的 VBScript,则应当使用 Server.CreateObject。
- Set objParser = Server.CreateObject( "Microsoft.XMLDOM" )
如果您正在使用 Visual Basic,可以通过设置对 MSXML 类库(在 Msxml.dll 中提供)的引用来访问 DOM。从 Visual Basic 6.0 内部使用 MSXML 的步骤为:
◆打开工程引用对话框。
◆从可用的 COM 对象的列表中选择 Microsoft XML,v2.0。如果没有找到该项,则先要获得 MSXML 类库。
◆这时可以创建分析程序对象实例。
- Dim xDoc As MSXML.DOMDocument
- Set xDoc = New MSXML.DOMDocument
从何处可以找到 Msxml.dll?获得 MSXML 类库的办法有两种:
可以安装 Internet Explorer 5.0— MSXML 分析程序是一个完整的组件。
◆另一个办法就是下载可再分布的 Microsoft XML Parser 版本。
◆在 Visual Basic 项目中引用了类库之后,就可以调用分析程序,加载文档,使用文档中的数据。
也许您现在正在疑惑—;我现在使用的是什么?如果您打开了 MSXML 类库,并用 Visual Basic 6.0 对象浏览器检查它的对象模型,就会发现,对象模型是如此丰富。这篇文章示范了如何使用 DOMDocument 类和 IXMLDOMNode 接口来访问 XML 文档。