节点的列表被返回getElementsByTagName()方法和子节点属性。
试一试 - 示例
下面的例子使用XML文件的Books.xml 。
从第一个文本<title>元素
本例使用getElementsByTagName()方法来获取来自第一文本<title>元素"books.xml"
通过使用length属性节点环
本例使用节点列表,并通过所有length属性来循环<title>中的元素"books.xml"
获取 元素的属性
本例使用属性列表来获得的第一个属性<book>元素"books.xml"
DOM节点列表
当使用性质或类似子节点或方法getElementsByTagName()会返回一个节点列表对象。
节点列表对象表示节点的列表,以相同的顺序如在XML。
在节点列表中的节点与从0开始的下标来访问。
下图表示的节点列表中<title>中的“元素的books.xml ”:
假设"books.xml"被装入变量xmlDoc中。
这段代码返回title元素的一个节点列表"books.xml" :
x = xmlDoc.getElementsByTagName("title");
上面的语句执行之后,x是一个节点列表对象。
下面的代码片段返回第一个文本<title>节点列表中的元素(x)
上述语句的执行,TXT =后"Everyday Italian" 。
节点列表长度
节点列表对象会保持自身最新。 如果一个元素被删除或添加,列表会自动更新。
节点列表的长度属性是列表中的节点的数目。
这段代码返回的数量<title>中的元素"books.xml"
x = xmlDoc.getElementsByTagName('title').length;
上面的语句的执行后,x的值将是4。
节点列表的长度可以通过在列表中的所有元素被用于循环。
此代码片段使用length属性来遍历列表中<title>元素:
例
x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
txt += x[i].childNodes[0].nodeValue) + " ";
}
输出:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
试一试» 例子解释:
- 假设“ 的books.xml ”载入到xmlDoc中
- 设置x变量来保存所有title元素的节点列表
- 收集文本节点值<title>元素
DOM属性列表(Named Node Map)
元素节点的属性属性返回属性节点的列表。
这被称为一个命名节点图,并且是类似于一个节点列表,除了在方法和属性一些差异。
一个属性列表会保持自身最新。 如果一个属性被删除或添加,列表会自动更新。
这段代码从第一个返回属性节点的一个列表<book>的元素"books.xml" :
x = xmlDoc.getElementsByTagName('book')[0].attributes;
上面的代码的执行后,x.length =是属性和数量x.getNamedItem()可用于返回一个属性节点。
这段代码获取的价值"category"属性,属性的一本书,数量:
例
x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;
输出:
cooking
1
试一试» 例子解释:
- 假设“ 的books.xml ”载入到xmlDoc中
- 设置x变量来保存首先所有属性的列表<book>元素
- 得到的值"category"属性和属性列表的长度