節點的列表被返回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"屬性和屬性列表的長度