XML DOM ノード情報

節點屬性:nodeName、nodeValue 並且 nodeType。

實例

下面的例子使用 XML 文件 books.xml

函數 loadXMLDoc(),位於外部 JavaScript 中,用於加載 XML 文件。

獲取元素節點的節點名稱
本例使用 nodeName 屬性來獲取 "books.xml" 中根元素的節點名稱。
從文本節點獲取文本
本例使用 nodeValue 屬性來獲取 "books.xml" 中第一個 <title> 元素的文本。
更改文本節點中的文本
本例使用 nodeValue 屬性來更改 "books.xml" 中第一個 <title> 元素的文本。
獲取元素節點的節點名稱和類型
本例使用 nodeName 和 nodeType 屬性來獲取 "books.xml" 中根元素的節點名稱和類型。

節點的屬性

在 XML 文檔對象模型 (DOM) 中,每個節點都是一個對象

對象擁有方法(功能)和屬性(關於對象的信息),並可通過 JavaScript 進行訪問和操作。

三個重要的 XML DOM 節點屬性是:

  • nodeName
  • nodeValue
  • nodeType

nodeName 屬性

nodeName 屬性規定節點的名稱。

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

TIY

nodeValue 属性

nodeValue 属性規定節點的值。

  • 要素ノードの nodeValue は undefined です。
  • テキストノードの nodeValue はテキスト自身です。
  • 属性ノードの nodeValue は属性の値です。

例 1:要素の値を取得

以下のコードは最初の <title> 要素のテキストノードの値を検索します:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
txt=x.nodeValue;

結果:txt = "Harry Potter"

コードの説明:

  • loadXMLDoc() を使用して「books.xml」を xmlDoc に読み込みます。
  • 最初の <title> 要素ノードのテキストノードを取得します。
  • txt 変数をテキストノードの値に設定します。

TIY

例 2:要素の値を変更

以下のコードは最初の <title> 要素のテキストノードの値を変更します:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

コードの説明:

  • loadXMLDoc() を使用して「books.xml」を xmlDoc に読み込みます。
  • 最初の <title> 要素ノードのテキストノードを取得します。
  • テキストノードの値を「Easy Cooking」に変更します。

TIY

nodeType 属性

nodeType 属性はノードのタイプを定義します。

nodeType は読み取り専用です。

最も重要なノードタイプは:

要素タイプ ノードタイプ
要素 1
属性 2
テキスト 3
コメント 8
ドキュメント 9

TIY