全子ノードを探査するループ処理

(方法1)childNodesプロパティで取得したNodeListをfor文でループする。(方法2)firstChildプロパティとnextSiblingプロパティを利用。

[サンプルHTML文書を表示](下のフレームに)

XMLソース

<?xml version="1.0" encoding="Shift_JIS" ?>
<家系>私の一族
<親>お父さんお母さん</親>
<姉>お姉さん
  <おい>お姉さんの息子</おい>
 </姉>
<私>おいら
  <長男>長男
<孫1>長男の娘</孫1>
</長男>
  <年齢 age="55"/>
</私>
<叔母>叔母さん
<従兄弟>叔母さんの息子</従兄弟>
</叔母>
</家系>

HTMLソース

<SCRIPT language="JavaScript"><!--
var xmlobj=new ActiveXObject("MSXML2.DOMDocument");
xmlobj.async=false;
xmlobj.load("child03.xml");
function Test1(){
var childs=xmlobj.documentElement.childNodes;
var result="";
if(childs.length != 0){
for(var i=0;i<childs.length;i++){
result += childs(i).nodeName + "::" + childs(i).nodeValue+"<br>";
}
}
view1.innerHTML=result;
}
function Test2(){
var child=xmlobj.documentElement.firstChild;
var result="";
while(child != null){
result += child.nodeName + "::" + child.nodeValue+"<br>";
child = child.nextSibling;
}
view2.innerHTML=result;
}
//--></SCRIPT>
</head>
<body>
<button onclick="Test1()">全ての子ノードをループ探査する(方法1)</button><br>
<button onclick="Test2()">全ての子ノードをループ探査する(方法2)</button><br><br>
<div>(方法1)ループの結果は:<hr><p id="view1"></p></div>
<div>(方法2)ループの結果は:<hr><p id="view2"></p></div>

end(05/5/6)