新JavaScript例文辞典

非同期通信でXMLファイルを読み込む

説明

非同期通信でXMLファイルを読み込むにはnew XMLHttpRequest()を使います。open()の2番目のパラメータに読み込むテキストファイルのURLを指定します。なお、セキュリティの都合により同一ドメイン上のサーバー上にあるファイルしか読み込むことができません。XMLデータの場合、responseXMLにXMLオブジェクトが入ります。単なるテキストとして読み込みたい場合にはresponseTextを参照してください。responseXMLで読み込んだ場合にはXMLオブジェクトになるため、DOM操作を行うための命令 (getElementsByTagNameなど) を使ってXMLデータにアクセスすることができます。

サンプルプログラム

var httpObj;
window.onload = function(){
httpObj = new XMLHttpRequest();
httpObj.onload = displayXML;
httpObj.open("get","sample.xml",true);
httpObj.send(null);
}
function displayXML(){
var xmlData = httpObj.responseXML;
var nameTag = xmlData.getElementsByTagName("username");
for (var i=0; i<nameTag.length; i++){
document.getElementById("result").innerHTML += nameTag[i].firstChild.nodeValue + "<br>";
}
}
サンプルを実行
[戻る]