XML DOM ノード情報
- 前のページ DOM ノードアクセス
- 次のページ 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
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 変数をテキストノードの値に設定します。
例 2:要素の値を変更
以下のコードは最初の <title> 要素のテキストノードの値を変更します:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking";
コードの説明:
- loadXMLDoc() を使用して「books.xml」を xmlDoc に読み込みます。
- 最初の <title> 要素ノードのテキストノードを取得します。
- テキストノードの値を「Easy Cooking」に変更します。
nodeType 属性
nodeType 属性はノードのタイプを定義します。
nodeType は読み取り専用です。
最も重要なノードタイプは:
要素タイプ | ノードタイプ |
---|---|
要素 | 1 |
属性 | 2 |
テキスト | 3 |
コメント | 8 |
ドキュメント | 9 |
- 前のページ DOM ノードアクセス
- 次のページ DOM ノードリスト