當前位置:
首頁 > 知識 > XML DOM-訪問節點

XML DOM-訪問節點

訪問節點

您可以通過三種方式來訪問節點:

1. 通過使用 getElementsByTagName() 方法。

2. 通過循環(遍歷)節點樹。

3. 通過利用節點的關係在節點樹中導航。


getElementsByTagName() 方法

getElementsByTagName() 返回擁有指定標籤名的所有元素。

語法

node.getElementsByTagName("tagname");

實例

下面的實例返回 x 元素下的所有 <title> 元素:

x.getElementsByTagName("title");

請注意,上面的實例僅返回 x 節點下的 <title> 元素。如需返回 XML 文檔中的所有 <title> 元素,請使用:

xmlDoc.getElementsByTagName("title");

在這裡,xmlDoc 就是文檔本身(文檔節點)。


DOM 節點列表(Node List)

getElementsByTagName() 方法返回節點列表。節點列表是節點的數組。

下面的代碼使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中,然後在變數 x 中存儲 <title> 節點的一個列表:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

可通過索引號訪問 x 中的 <title> 元素。如需訪問第三個 <title>,您可以編寫:

y=x[2];

注意:該索引從 0 開始。

在本教程後面的章節中,您將學習更多有關節點列表(Node List)的知識。



DOM 節點列表長度(Node List Length)

length 屬性定義節點列表的長度(即節點的數量)。

您可以通過使用 length 屬性來遍歷節點列表:

實例

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");
for(i=0;i<x.length;i++){document.write(x[i].childNodes[0].nodeValue); document.write("");}

嘗試一下 ?

實例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中

  2. 獲取所有 <title> 元素節點

  3. 輸出每個 <title> 元素的文本節點的值


節點類型(Node Types)

XML 文檔的 documentElement 屬性是根節點。

節點的 nodeName 屬性是節點的名稱。

節點的 nodeType 屬性是節點的類型。

您將在本教程的下一章中學習更多有關節點屬性的知識。

嘗試一下



遍歷節點

下面的代碼遍歷根節點的子節點,同時也是元素節點:

實例

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
for(i=0;i<x.length;i++){if(x[i].nodeType==1){// 執行一次document.write(x[i].nodeName); document.write(""); }}

嘗試一下 ?

實例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中

  2. 獲取根元素的子節點

  3. 檢查每個子節點的節點類型。如果節點類型是 "1",則是元素節點

  4. 如果是元素節點,則輸出節點的名稱


導航節點的關係

下面的代碼使用節點關係導航節點樹:

實例

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0].childNodes;y=xmlDoc.getElementsByTagName("book")[0].firstChild;
for(i=0;i<x.length;i++){if(y.nodeType==1){// 輸出節點名document.write(y.nodeName + ""); }y=y.nextSibling;}

嘗試一下 ?

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中

  2. 獲取第一個 book 元素的子節點

  3. 把 "y" 變數設置為第一個 book 元素的第一個子節點

  4. 對於每個子節點(第一個子節點從 "y" 開始),檢查節點類型,如果節點類型為 "1",則是元素節點

  5. 如果是元素節點,則輸出該節點的名稱

  6. 把 "y" 變數設置為下一個同級節點,並再次運行循環

XML DOM-訪問節點

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

jQuery Mobile 實例
XML編程 Parser

TAG:程序員小新人學習 |