XML DOM ノードツリーの巡回

巡回(Traverse)とは、ノードツリー内でループまたは移動することを意味します。

以下の例では、XMLファイルを使用します books.xml

関数 loadXMLString()、外部JavaScriptに配置され、XMLファイルをロードするために使用されます。

ノードツリーの巡回
<book>要素のすべての子ノードをループします。

ノードツリーの巡回

XMLドキュメントをループする必要があることがよくあります、例えば:各要素の値を抽出する必要がある場合。

このプロセスは「ノードツリーの巡回」と呼ばれます。

以下の例では、<book>のすべての子ノードをループし、その名前と値を表示します:

<html>
<head>
<script type="text/javascript" src="loadxmlstring.js"></script>
</head>
<body>
<script type="text/javascript">
text="<book>";
text=text+"<title>ハリ・ポッター</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
xmlDoc=loadXMLString(text);
// documentElement は常にルートノードを表します
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{
document.write(x[i].nodeName);
document.write(": ");
document.write(x[i].childNodes[0].nodeValue);
document.write("<br />");
}
</script>
</body>
</html>

出力:

title: Harry Potter
author: J K. Rowling
year: 2005

例の説明:

  • loadXMLString() XML 文字列を xmlDoc に読み込みます
  • ルート要素の子ノードを取得します
  • 各子ノードの名前とテキストノードのノード値を出力します

TIY