JavaScript操作XML(三)

 
上一篇介紹了XML如何加載到JavaScript解析器。
這一篇介紹加載到解析器後,JavaScript是如何訪問節點的。

在詳細介紹如何使用上面的方法前,我們先來了解下節點的主要屬性。
documentElement 屬性:XML 文檔的根節點。
nodeName 屬性:節點的名稱(只讀)。
nodeValue 屬性:節點的值。
nodeType 屬性:節點的類型。
childNodes 屬性:返回子節點集合。
parentNode 屬性:返回父節點。
firstChild 屬性:返回第一個子節點。
lastChild 屬性:返回最後一個子節點。
nextSibling 屬性:返回下一個兄弟(同級)節點。
previousSibling 屬性:返回前一個兄弟(同級)節點。

nodeName 屬性

nodeName 屬性規定節點的名稱。
  • nodeName 是隻讀的
  • 元素節點的 nodeName 與標籤名相同
  • 屬性節點的 nodeName 是屬性的名稱
  • 文本節點的 nodeName 永遠是 #text
  • 文檔節點的 nodeName 永遠是 #document

nodeValue 屬性

nodeValue 屬性規定節點的值。
  • 元素節點的 nodeValue 是 undefined
  • 文本節點的 nodeValue 是文本自身
  • 屬性節點的 nodeValue 是屬性的值

nodeType 屬性

nodeType 屬性規定節點的類型。
nodeType 是隻讀的。

最重要的節點類型是:

元素類型 節點類型
元素 1
屬性 2
文本 3
註釋 8
文檔 9
您可以通過四種方法來訪問節點:
1、通過getElementsById() 方法。
     用法: var xNode = xmlDoc.getElementsById('ID') ;
     解釋:這個方法我想大家已經很熟悉了。就是如果XML裏有個id='ID'的Node,那個就返回這個Node節點,否則返回null。
     在得到這個Node後,就可以用上面的屬性進行訪問了。
     ps: xmlDoc的定義可以在上一篇文章中找到。


2、通過getElementsByTagName() 方法。
      用法:var arrNodes=xmlDoc.getElementsByTagName('TagName') ;
     解釋:這個方法是根據tagname返回一個數組。此方法最常用。
     例子1:
     //xml 內容: JavaScript操作XML (一)
      var arrNodes=xmlDoc.getElementsByTagName("title");
   for (i=0;i<arrNodes.length;i++)
     {
      alert(arrNodes[i].childNodes[0].nodeValue);
   }
例子2:
     // 獲取第一個 <title> 元素節點的文本節點。注意,元素內的文本是元素的子節點,叫文本節點。
     var xNode=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
     alert(xNode.nodeValue); // 文本節點的值 。output "Everyday Italian"

3、通過循環(遍歷)節點樹。
     這個方法沒什麼好說的,就是用for循環結合childNodes遍歷所以的節點。
例子:
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)//只遍歷了一層
{
document.write(x[i].nodeName);
document.write("<br />");
}

4、通過節點的關係在節點樹中導航。

     這個方法是根據當前節點得到parentNode 、firstChild、lastChild、nextSibling 、previousSibling 來移動。
x=xmlDoc.getElementsByTagName("book")[0].childNodes;
y=xmlDoc.getElementsByTagName("book")[0].firstChild;
for (i=0;i<x.length;i++)
{
document.write(y.nodeName + "<br />");
    y=y.nextSibling;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章