以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  XML初学进阶学习笔记[原创](续9)[原创]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=9305)


--  作者:卷积内核
--  发布时间:8/12/2004 9:10:00 AM

--  XML初学进阶学习笔记[原创](续9)[原创]
35、对DOM树的操作::

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

root = myDocument.documentElement

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

在得到了文档的根元素节点之后,我们又将如何访问其他元素呢?以文档中的第二个person元素为例,
对该元素节点以及其子节点的访问可以通过下面的方式来实现:

personNode = root.childNodes.item(1)
nameNode = personNode.childNodes.item(0)
textNode = nameNode.childNodes.item(0)
theName = textNode.nodeValue

上述访问语句执行后,theName的值是"李四"。下图黄色箭头给出了这一访问过程的示意:

在上面的代码中,root是文档的根元素节点addressbook节点,
personNode和nameNode都是元素类型的节点,textNode是TEXT类型的节点,theName是一个字符串。

childNodes是NodeList类型的属性,item是NodeList接口中Node类型的属性,
通过item可以访问NodeList节点集合中的任意节点(这儿有一点需要注意,
当我们要访问根元素节点addressbook的第二个person子节点personNode时,
我们用的索引参数是"1",这是因为item中的索引参数是从0开始的,如果我们要访问节点集合中的第一个节点,则应该用item(0)来表示)。

在DOM规范中,要访问元素节点的文本内容,需要先得到元素节点的TEXT子节点,
再通过TEXT节点的属性获取文本内容。微软在实现DOM接口时对DOM进行了部分扩展,
可以通过元素类型节点的text属性直接获得元素中的文本内容。具体实用说明可以参考微软msdn中的帮助。

上面的例子给出了如何访问DOM树中的元素节点,
对于DOM树中的属性节点,访问方法略有不同,可以通过下面的语句来实现:

attr = node.attributes.getNamedItem("sex")
attrContent = attr.nodeValue

上述访问语句执行后,attrContent的值是"male"。下图用黄色箭头标出了这一访问的过程。

在上面的代码中,attr是属性类型的节点,attributes是NamedNodeMap类型的属性,
getNamedItem是NamedNodeMap接口中的方法。属性的内容可以通过属性节点的nodeValue来获得。


--  作者:hqh200023607
--  发布时间:11/10/2005 9:52:00 PM

--  
我怎么没有看见你的图啊,是不是这个引用有错误啊,我连续看了好几篇都没有见到啊,请说明啊!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms