getElementByTagNameメソッド

・引数に要素名を指定すると、その要素名の全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)