XMLパーサー
XML パーサー
最新のブラウザにはすべて XML パーサーが組み込まれています。
XML パーサーは、XML ドキュメントを XML DOM オブジェクト (JavaScript を通じて操作できるオブジェクト) に変換します。
XML ドキュメントを解析する
次のコード スニペットは、XML ドキュメントを XML DOM オブジェクトに解析します:
if (window.XMLHttpRequest)
{// IE7 以降、Firefox、Chrome、Opera、Safari 用のコード
xmlhttp=new XMLHttpRequest();
}
その他
{// IE6、IE5 のコード
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
{// IE7 以降、Firefox、Chrome、Opera、Safari 用のコード
xmlhttp=new XMLHttpRequest();
}
その他
{// 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>まいにちイタリア語</title>";
txt=txt+"<author> ;ジャーダ・デ・ラウレンティス</著者>";
txt=txt+"<年>2005</年>";
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>まいにちイタリア語</title>";
txt=txt+"<author> ;ジャーダ・デ・ラウレンティス</著者>";
txt=txt+"<年>2005</年>";
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 オブジェクトを使用します。
クロスドメイン アクセス セキュリティ上の理由から、最新のブラウザではクロスドメイン アクセスが許可されていません。 これは、Web ページと Web ページがロードしようとしている XML ファイルの両方が同じサーバー上に存在する必要があることを意味します。
XML DOM 次の章では、XML DOM オブジェクトにアクセスしてデータを取得する方法を学びます。