・引数に要素名を指定すると、その要素名の全ElementノードをNodeListオブジェクトとして返す。
・Documentオブジェクトで使うと、XML文書内の全ての該当要素を取り出す。Elementオブジェクトでは、その子孫ノードの中から該当するものを全て取り出す。
(例)abc = Document.getElementsByTagName("Web");
XML文書内で、"Web"という要素名をもつ全てのElementノードがNodeListオブジェクト"abc"として返される。
[サンプルHTMLを表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?> <start> <top>KodayanHPのContents</top> <!--以下は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 Applet</sub>
<sub>VB SCript</sub> </list> <list> <main>その他</main> <sub>お気に入りリンク集</sub> <sub>お知らせ</sub> <sub>HPの履歴</sub> <sub>掲示板</sub> </list> </contents> <end>以上です(04/4/20)</end> </start>
HTMLソース
<SCRIPT language="JavaScript"><!--
var xmlobj=new ActiveXObject("MSXML2.DOMDocument");
xmlobj.async=false;
xmlobj.load("test02.xml");
function Test1(){
//XML文書内の全ての要素名”sub”を取り出す
objNodes_sub = xmlobj.getElementsByTagName("sub");
str = ""; //文字列変数の初期化
for(i=0;i < objNodes_sub.length;i++){
str += objNodes_sub(i).text + "<BR>";
}
dv.innerHTML = str;
}
function Test2(){
//Webプログラミング内の要素名”sub”内容を取り出す
objNodes_sub2 = xmlobj.documentElement.childNodes(2).childNodes(1).getElementsByTagName("sub");
str = ""; //文字列変数の初期化
for(i=0;i < objNodes_sub2.length;i++){
str += objNodes_sub2(i).text + "<BR>";
}
dv.innerHTML = str;
}
function Test3(){
//XML文書内の全ての要素名を表示
objNodes_sub3 = xmlobj.getElementsByTagName("*");
str = ""; //文字列変数の初期化
for(i=0;i < objNodes_sub3.length;i++){
str += objNodes_sub3(i).nodeName + "/";
}
dv.innerText = str;
}
function Test4(){
//Webプログラミング゙内の要素名”sub”の3番目の内容だけを取り出す
objNodes_sub4 = xmlobj.documentElement.childNodes(2).childNodes(1).getElementsByTagName("sub")(2);
dv.innerHTML = objNodes_sub4.text;
}
//--></SCRIPT>
</HEAD>
<BODY>
<BUTTON onclick="Test1()">全ての「sub」要素内容を表示</BUTTON><BR>
<BUTTON onclick="Test2()">Webプログラミング内の「sub」要素内容だけ取り出す</BUTTON><BR>
<BUTTON onclick="Test3()">XML文書内の全ての要素名を表示</BUTTON>
<BUTTON onclick="Test4()">Webプログラミング内の「sub」要素で、3番目だけ取り出す</BUTTON>
<DIV id="dv" style="border:1px red solid"></DIV>
end(05/5/1)