nodeName、nodeValue以及nodeType包含有关于节点的信息。
DOM Node List 和 NamedNodeMap
本节为您讲解NodeList和NamedNodeMap的概念,以及它们之间的区别。
DOM Node List
当我们使用类似childNodes或getElementsByTagName()之类的属性或方法时,就会收到一个NodeList对象。
NodeList对象代表一个有序的节点列表。
可通过它们的索引号码(由0起始)来访问节点列表中的这些节点。
注释:在一个节点列表中,其中的节点是按照它们在XML中被规定的顺序来返回的。
请看下面这个XML文件:books.xml
现在,我们要通过使用方法getElementsByTagName("title"),来创建一个"books.xml"中所有<title>元素的节点列表。下面这幅图表示所返回的节点列表:
下面这个代码片段可从第一个<title>元素中取得文本:
getElementsByTagName("title")[0].childNodes[0].nodeValue输出:
Everyday Italian
取得节点列表的长度
节点列表可保持其自身的更新。如果某个元素被删除或添加,那么列表会自动更新。
节点列表有一个很有用的属性:length。length属性可返回某个节点列表中的节点数目。
下面的代码片段可取得"books.xml"中<title>元素的数目:
getElementsByTagName('title').length 输出:
4
当您了解到某个节点列表的长度后,就可以轻易地循环遍历这个列表,并提取您需要的值。
下面的代码片段循环遍历所有的<title>元素,并输出它们的值:
//the x variable will hold a NodeListvar x=getElementsByTagName('title')for (i=0;i<x.length;i ) { document.write(x[i].childNodes[0].nodeValue) document.write("<br />") }输出:
Everyday ItalianHarry PotterXQuery Kick StartLearning XML
DOM NamedNodeMap
当我们对某个元素使用attributes属性时,就会收到一个NamedNodeMap对象。
一个NamedNodeMap代表了属性节点的一个无序列表。
可通过节点名称访问NamedNodeMap中的节点。
注释:在一个NamedNodeMap中,节点不会以任何特别的顺序返回。
取得NamedNodeMap的长度
NamedNodeMap会保持自身的更新。如果某个元素被删除或添加,此列表也会被自动更新。
NamedNodeMap也拥有length属性。length属性可返回列表中的节点数目。
请看下面这个XML文件:books.xml
下面的这个代码片段可取得"books.xml"中第一个<title>元素的属性数目:
getElementsByTagName('title')[0].attributes.length 输出:
1
取得NamedNodeMap中某个项目的值
NamedNodeMap对象的getNamedItem()方法可被用来取回某个指定的节点。
下面的代码片段向我们展示了如何输出每个<each>元素中"category"属性的值:
xmlDoc=loadXMLDoc("books.xml");var x=xmlDoc.getElementsByTagName("book");for(i=0;i<x.length;i ) { //the attlist variable will hold a NamedNodeMap var attlist=x.item(i).attributes; var att=attlist.getNamedItem("category"); document.write(att.value "<br />") } 输出:
COOKINGCHILDRENWEBWEB
作者:gdgzboy@牛C网
地址:http://www.niuc.net/post/2587/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
XSLT知识总结
xml的解析处理以及其他
利用XMLHTTP技术为Donews Blog添加最新文章列表
XML入门的常见问题(四)
XML与HTML的结合
用xml xslt实现表格背景色按行交替设置
XML文件的显示——CSS和XSL
无线标记语言(WML)基础之WML程序结构
XML CSS的范例
XML入门教程-向XML文件存储数据
XML教程-XML DOM 节点信息
运用 CSS 的 absolute 与 relative 制作的提示





