読み込んだXMLのデータをもとにデータを表示する



動作ブラウザ

winmaclinux
n7m1e5e6o7 n7m1e5s1 n7m1k3
×× ×× ×
ソース


【addr.xml】
<?xml version="1.0" encoding="UTF-8" ?> <アドレス> <個人 id="1"> <名前>山田太郎</名前> <住所1>茨城県</住所1> </個人> <個人 id="2"> <名前>田中花子</名前> <住所1>東京都</住所1> </個人> <個人 id="3"> <名前>高橋次郎</名前> <住所1>北海道</住所1> </個人> </アドレス>
【addr.htm】
<script type="text/javascript"> <!-- /*========================================================== //クロスブラウザ load関数 引数 : url XMLファイルのurl func 読み込み成功時の起動関数名 戻値 : 読み込まれたXMLノードツリー 例 : loadFile( 'data.xml', func1 ) function func1(){alert('test')} Support http://game.gr.jp/js/ */ function loadFile(url,func) { if (window.ActiveXObject) { var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async = false if(xmlDoc.load(url)){func(xmlDoc)} } else if ( document.implementation && document.implementation.createDocument ) { var xmlDoc = document.implementation.createDocument("","",null) xmlDoc.onload = function (){func(xmlDoc)} xmlDoc.load(url) } return xmlDoc } //読み込んだXMLのデータをもとにHTMLへ書き出す function writeXMLData(xdoc) { //XML内の"個人"という名前のタグの配列を作る var kojin = xdoc.getElementsByTagName("個人") //XML内の"名前"という名前のタグの配列を作る var name = xdoc.getElementsByTagName("名前") //XML内の"住所1"という名前のタグの配列を作る var addr1 = xdoc.getElementsByTagName("住所1") //書き出すためのdivを作っておく var wkdiv= document.body.insertBefore( document.createElement("div"), document.body.firstChild) //"node"タグが出てきた順に処理する for( i = 0 ; i < kojin.length ; i++ ) { html = '<b>' + name[i].firstChild.nodeValue + '</b>' + addr1[i].firstChild.nodeValue //各タグ内のfirstChildのデータだけをinnerHTMLで書き出す wkdiv.innerHTML += html + '<br>' } } //--> </script> <input type = "button" value = "XML読み込み" onclick= "loadFile('addr.xml',writeXMLData)">