ホーム HTML CSS XML JAVASCRIPT   PHP SQL MORE...   リファレンス 事例集    

XML DOM ロード関数

« 前章へ 次章へ »

XML文書をロードするためのコードは、関数にして格納することができます。


loadXMLDoc() 関数

前ページのコードを、保守(及び、古いブラウザのチェック)がし易くなるように関数として作成します:

function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

上の関数を、HTMLページの<head>セクションに格納することで、ページ内のスクリプトからコールすることができるようになります。

lamp ここで作成した関数は、このチュートリアルの 全てのXML文書に使用します!


loadXMLDoc()用の外部JavaScript

上記関数の、メンテナンスをより容易にすると共に、同じコードが全ページで使用されるようにするため、 外部ファイルに保存することにします。

ファイル名を"loadxmldoc.js"として、HTMLのheadセクションにロードします。 これで、loadXMLDoc()関数は、ページ内のスクリプトからコールできるようになります。

次の例は、loadXMLDoc()を使用してbooks.xmlをロードしています:

Example

<html>
<head>
<script type="text/javascript" src="loadxmldoc.js">
</script>
</head>
<body>

<script type="text/javascript">
xmlDoc=loadXMLDoc("books.xml");

code goes here.....

</script>

</body>
</html>

Try it yourself »

XMLファイルからデータを取得する方法は、次章で説明します。


loadXMLString() 関数

前ページのコードを、保守(及び、古いブラウザのチェック)がし易くなるように関数として作成します:

function loadXMLString(txt)
{
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);
  }
return xmlDoc;
}

上の関数を、HTMLページの<head>セクションに格納することで、ページ内のスクリプトからコールすることができるようになります。

lamp ここで作成した関数は、このチュートリアルの 全てのXMLストリングに使用します!


loadXMLString()用の外部JavaScript

loadXMLString()を、"loadxmlstring.js"と言う名前で格納します。

Example

<html>
<head>
<script type="text/javascript" src="loadxmlstring.js"></script>
</head>
<body>
<script type="text/javascript">
text="<bookstore>"
text=text+"<book>";
text=text+"<title>Everyday Italian</title>";
text=text+"<author>Giada De Laurentiis</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";

xmlDoc=loadXMLString(text);

code goes here.....

</script>
</body>
</html>

試してください»

« 前章へ 次章へ »