節點清單由 getElementsByTagName() 方法和 childNodes 屬性傳回。
下面的例子使用 XML 檔案 books.xml。
函數 loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 檔案。
<dl></dl>
<dt></dt>
從第一個 <title> 元素擷取文本
<dd>本例使用 getElementsByTagName() 方法從 "books.xml" 中的第一個 <title> 元素擷取文本。</dd>
通過使用 length 屬性來循環節點
<dd>本例使用節點清單和 length 屬性來循環 "books.xml" 中的所有 <title> 元素。</dd>
擷取元素的屬性
<dd>本例使用屬性清單從 "books.xml" 中的第一個 <title> 元素擷取屬性。 </dd>
當使用諸如 childNodes 或 getElementsByTagName() 屬性或方法時,會傳回 NodeList 對象。
NodeList 對象表示節點的清單,以 XML 中的相同順序。
使用從 0 開始的下标來通路節點清單中的節點。
下面的圖像表示 "books.xml" 中 <title> 元素的節點清單:
下面的代碼片段通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中,并傳回 "books.xml" 中 title 元素的一個節點清單:
以上語句執行之後,x 成為一個 NodeList 對象。
下面的代碼片段從節點清單 x 中的第一個 <title> 元素中傳回文本:
在以上語句執行之後,txt = "Everyday Italian"。
TIY
NodeList 對象會保持自身的更新。如果删除或添加了元素,清單會自動更新。
節點清單的 length 屬性是清單中節點的數量。
下面的代碼片段通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc,并傳回 "books.xml" 中 <title> 元素的數量:
在上面的語句執行之後,x = 4。
節點清單的長度可用于循環清單中所有的元素。
下面的代碼片段使用 length 屬性來周遊 <title> 元素的清單:
輸出:
通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc
設定儲存所有 title 元素的節點清單的 x 變量
從所有 <title> 元素的文本節點輸出值
元素節點的 attributes 屬性傳回屬性節點的清單。
這被稱為 Named Node Map,除了方法和屬性上的一些差别以為,它與節點清單相似。
屬性清單會保持自身的更新。如果删除或添加屬性,這個清單會自動更新。
下面的代碼片段通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中,并從 "books.xml" 中的第一個 <book> 元素傳回屬性節點的一個清單:
以上代碼執行之後,x.length 等于屬性的數量,可使用 x.getNamedItem() 傳回屬性節點。
下面的代碼片段一個 book 的 "category" 屬性的值,以及其屬性的數量:
通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
把 x 變量設定為第一個 <book> 元素的所有屬性的一個清單
從 "category" 屬性輸出其值
輸出屬性清單的長度