|
  Ajaxを極める
|
|
Sec.1 XMLファイルを扱う
まずは今回扱うXMLファイルです。 <?xml version="1.0" encoding="UTF-8" ?> <userlist> <user> <Number>0001</Number> <Syain>Yamada</Syain> </user> <user> <Number>0002</Number> <Syain>Tanaka</Syain> </user> <user> <Number>0003</Number> <Syain>Kinoshita</Syain> </user> </userlist> それでは上のXMLファイルを取得します。 【サンプル】 <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <title>サーバー上のXMLファイルを読み込む</title> <script type="text/javascript" src="xmlhttp.js"></script> <script type="text/javascript"><!-- function getXMLFile(fName) { httpObj = createXMLHttpRequest(readComplete); if (httpObj) { httpObj.open("GET",fName,true); httpObj.send(null); } } function readComplete() { if ((httpObj.readyState == 4) && (httpObj.status == 200)) { xmlData = httpObj.responseXML;//①取得したXMLファイルを変数へ格納します //②XMLデータを編集します。やり方はいくつかありますが、一番オーソドックスなやり方を示します。 Syain_Tag = xmlData.getElementsByTagName("Syain"); Number_Tag = xmlData.getElementsByTagName("Number"); User_Tag = xmlData.getElementsByTagName("user"); userLen = User_Tag.length; //②件数を取得します resultText = ""; //③データの内容を表示するための変数 for(i=0; i<userLen; i++){ //④取得したタグのテキストデータを編集します s_name = Syain_Tag[i].childNodes[0].nodeValue; s_num = Number_Tag[i].childNodes[0].nodeValue; resultText = resultText + s_num + " : " + s_name + "<br>"; } $("result").innerHTML = resultText; }else{ $("result").innerHTML = "<b>Loading...</b>"; } } --></script> </head> <body> <p>XMLファイルを読み込む <form name="ajaxForm"> <input type="button" onClick="getXMLFile('file.xml')"><br> </form> <div id="result"></div> </body> </html> Point: XMLのタグの使い方をおさえましょう。 |