・childNodesプロパティの内容や、getElementsByTagName()メソッドの返り値はノードの集合です。これがNodeListオブジェクト。
・NodeListオブジェクトを変数に代入しておくと
★個別のNodeは 変数(index番号) で参照できる。
★変数.item(index番号) を使っても上と同様。
★変数.lengthプロパティで含まれるNodeの個数を取得できる。
[サンプルXML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<root>
<title>KodayanHPのContents</title>
<!--以下はKodayanHomepageの内容一覧-->
<contents>
<list>
<main>大阪日本橋データ</main>
<sub>日本橋Map</sub>
<sub>PCショップ名一覧</sub>
<sub>PCショップ価格比較</sub>
<sub>日本橋関連リンク集</sub>
</list>
<list>
<main>Webプログラミング</main>
<sub>CSSとDynamicHTML</sub>
<sub>PerでCGI</sub>
<sub>XML</sub>
<sub>Java Script</sub>
<sub>Java Applet</sub>
<sub>VB SCript</sub>
</list>
<list>
<main>その他</main>
<sub>お気に入りリンク集</sub>
<sub>お知らせ</sub>
<sub>HPの履歴</sub>
<sub>掲示板</sub>
<sub>アンケート</sub>
</list>
</contents>
</root>
HTMLソース
<SCRIPT language="JavaScript"><!-- //childNodesプロパティからNodeListオブジェクトを取得 function Test1(){ Document = test2.XMLDocument; objNodes = Document.documentElement.childNodes(2).childNodes(0).childNodes; str = ""; //文字列変数の初期化 for(i=0;i < objNodes.length;i++){ str += (i + 1) + "番目要素のテキストは:<B>" + objNodes(i).text + "</B><BR>"; } dv.innerHTML = str; } //getElementByTagNameメソッドからNodeListオブジェクトを取得 function Test2(){ Document = test2.XMLDocument; objNodes_main = Document.getElementsByTagName("main"); str = ""; //文字列変数の初期化 for(i=0;i < objNodes_main.length;i++){ str += (i + 1) + "番目要素のテキストは:<B>" + objNodes_main(i).text + "</B><BR>"; } dv.innerHTML = str; } //--></SCRIPT> </HEAD> <BODY> <XML ID="test2" SRC="[U]test02.xml"></XML> <BUTTON onclick="Test1()">日本橋関連</BUTTON> <BUTTON onclick="Test2()">要素名が「main」の内容だけ取り出す</BUTTON> <DIV id="dv" style="border:1px red solid"></DIV>
end(01/2/28)