XML初学进阶学习笔记(4)

来源:互联网 发布:mac怎样取消开机密码 编辑:程序博客网 时间:2024/06/06 02:32
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
32、实现了NamedNodeMap接口的对象中包含了可以通过名字来访问的一组节点的集合。

不过注意,NamedNodeMap并不是从NodeList继承过来的,它所包含的节点集中的节点是无序的。尽管这些节点也可以通过索引来进行访问,但这只是提供了枚举NamedNodeMap中所包含节点的一种简单方法,并不表明在DOM规范中为NamedNodeMap中的节点规定了一种排列顺序。

NamedNodeMap表示的是一组节点和其唯一名字的一一对应关系,这个接口主要用在属性节点的表示上。与NodeList相同,在DOM中,NamedNodeMap对象也是"live"的。

33、利用DOM,程序开发人员可以动态地创建文档,遍历文档结构,添加、修改、删除文档内容等等。

我们将通过微软的XML分析器msXML,对DOM接口的这些应用做的介绍。

使用不同的编程语言创建Document对象的范例。

JScript:

var doc = new ActiveXObject("Microsoft.XMLDOM")

VB Script:

Dim docSet doc = CreateObject("Microsoft.XMLDOM")

VB:

Dim doc As ObjectSet

doc = CreateObject("Microsoft.XMLDOM")

或者

Dim doc As DOMDocumentSet doc = New DOMDocument

VC:

HRESULT hr = CoCreateInstance

(CLSID_DOMDocument,NULL,CLSCTX_INPROC_SERVER,IID_IXMLDocument(LPVOID*),&m_pXMLDocument);

34、Document的加载

不同的XML分析器所提供的加载XML文档的方法也不尽相同。

在微软的msXML中,提供了一个load方法来加载XML文档,建立DOM树同XML文档之间的关联。

依旧以联系人列表信息的XML文档.XML为例,可通过下述方式来加载文档:

Dim myDocumentSet myDocument = CreateObject("microsoft.XMLdom")

myDocument.async = FalsemyDocument.load("client.XML")

35、对DOM树的操作::

首先,我们要获取XML文档的根元素节点,用VBScript语言描述这个操作如下:

root = myDocument.documentElement

该语句的实际含义如下图黄色箭头所示。

在得到了文档的根元素节点之后,我们又将如何访问其他元素呢?以文档中的第二个person元素为例,

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>