XML DOM チュートリアルlogin
XML DOM チュートリアル
著者:php.cn  更新時間:2022-04-13 15:27:56

DOMノードリスト


XML DOM ノードリスト


ノードリストは、getElementsByTagName() メソッドと childNodes 属性によって返されます。


tryitimg.gif試してみる - 例


以下の例では、XML ファイル Books.xml を使用します。
外部 JavaScript にある関数loadXMLDoc()は、XML ファイルをロードするために使用されます。

最初の <title> 要素からテキストを取得する
この例では、getElementsByTagName() メソッドを使用して、「books.xml」の最初の <title> 要素からテキストを取得します。

length 属性を使用してノードを走査する
この例では、ノード リストと length 属性を使用して、「books.xml」内のすべての <title> 要素を走査します。

要素の属性を取得する
この例では、属性リストを使用して、「books.xml」の最初の <book> 要素から属性を取得します。


DOM ノード リスト

childNodes や getElementsByTagName() などの属性またはメソッドを使用すると、ノード リスト オブジェクトが返されます。

ノード リスト オブジェクトは、XML と同じ順序でノードのリストを表します。

ノードリスト内のノードには、0から始まるインデックス番号を使用してアクセスされます。

次の画像は、「books.xml」の <title> 要素のノード リストを表します。

nodelist.gif

次のコード スニペットは、loadXMLDoc() を使用して「books.xml」を xmlDoc にロードし、「books.xml」を返します。タイトル要素のノードリスト:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

上記のステートメントの実行後、x はノードリストです物体 。

次のコード スニペットは、ノード リスト (x) の最初の <title> 要素からテキストを返します。インスタンス

上記のステートメントを実行すると、txt = "まいにちイタリアン" となります。


ノードリストの長さ

ノードリストオブジェクトはそれ自体を更新し続けます。要素が削除または追加されると、リストは自動的に更新されます。

ノード リストの長さプロパティは、リスト内のノードの数です。

次のコード スニペットは、loadXMLDoc() を使用して「books.xml」を xmlDoc にロードし、「books.xml」内の <title> 要素の数を返します。

xmlDoc=loadXMLDoc("books.xml" );

x=xmlDoc.getElementsByTagName('title').length;

上記のステートメントが実行されると、x = 4 になります。

ノード リストの長さを使用して、リスト内のすべての要素を走査できます。

次のコード スニペットは、length 属性を使用して <title> 要素のリストを反復処理します:

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");
txt=x[0].childNodes[0].nodeValue;
document.write(txt);
</script>
</body>
</html>

Run Instance»

オンラインの例を表示するには、[Run Instance] ボタンをクリックします

アウトプット:

イタリア語
harryポッターキックキックスタートxml


explanationの例すべての <title> 要素のテキスト ノードから

    DOM 属性リスト (名前付きノード マップ)
  1. 要素ノードのattributes 属性は、属性ノードのリストを返します。

  2. これは名前付きノード マップと呼ばれ、メソッドとプロパティのいくつかの違いを除いてノード リストに似ています。
  3. 属性リストは常に更新されます。このリストは、属性が削除または追加されると自動的に更新されます。

  4. 次のコード スニペットは、loadXMLDoc() を使用して「books.xml」を xmlDoc にロードし、「books.xml」の最初の <book> 要素の属性ノード リストを返します。 ");
  5. x=xmlDoc.getElementsByTagName('book')[0].attributes;

上記のコードが実行された後、x.length は属性の数と等しくなるため、x.getNamedItem() を使用できます。属性ノードを返します。

次のコード スニペットは、本の「カテゴリ」属性の値とその属性の数を表示します:

インスタンス

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('title');
for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write("<br>");
}
</script>
</body>
</html>

インスタンスの実行»

オンラインで表示するには、[インスタンスの実行] ボタンをクリックします。インスタンス


出力:

料理

1

例の説明:

  1. loadXMLDoc()を使用して「books.xml」をxmlDocにロードします

  2. 最初の<book>要素のすべての属性のリストを保存するには、x変数を設定します。

  3. 「category」属性の値を出力

  4. 属性リストの長さを出力