XML Parser
すべての最新ブラウザにはXMLパーサーが組み込まれています。
XMLパーサーはXMLドキュメントをXML DOMオブジェクト - JavaScriptで操作できるオブジェクト - に変換します。
XML ドキュメントの解析
次のコードスニペットはXMLドキュメントをXML DOMオブジェクトに解析します:
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
XML 文字列の解析
次のコードスニペットはXML文字列をXML DOMオブジェクトに解析します:
txt="<bookstore><book>";
txt=txt+"<title>Everyday Italian</title>";
txt=txt+"<author>Giada De Laurentiis</author>";
txt=txt+"<year>2005</year>";
txt=txt+"</book></bookstore>";
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
txt=txt+"<title>Everyday Italian</title>";
txt=txt+"<author>Giada De Laurentiis</author>";
txt=txt+"<year>2005</year>";
txt=txt+"</book></bookstore>";
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
注記:Internet ExplorerはloadXML()メソッドを使用してXML文字列を解析し、その他のブラウザはDOMParserオブジェクトを使用します。
クロスドメインアクセス
セキュリティ上の理由から、最新のブラウザはクロスドメインアクセスを許可していません。
これは、ウェブページとそれが読み込もうとするXMLファイルが、同じサーバー上になければならないことを意味します。
XML DOM
次の章では、XML DOMオブジェクトにアクセスしてデータを取り出す方法を学びます。
その他の拡張機能