XML DOM チュートリアルlogin
XML DOM チュートリアル
著者:php.cn  更新時間:2022-04-13 15:27:56

DOMロード機能


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.gif上記の関数は、このチュートリアルのすべての XML ドキュメント インスタンスに使用されます。


loadXMLDoc() 用の外部 JavaScript

上記のコードを保守しやすくし、すべてのページで同じコードが使用されるようにするために、関数を外部ファイルに保存します。

ファイル名は「loadxmldoc.js」で、HTML ページの head セクションにロードされます。次に、ページ内のスクリプトは、loadXMLDoc() 関数を呼び出します。

次の例では、loadXMLDoc() 関数を使用して Books.xml をロードします。

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"></script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue + "<br>");
document.write(xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue + "<br>");
document.write(xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue);
</script>
</body>
</html>

サンプルの実行»

オンラインサンプルを表示するには、「サンプルの実行」ボタンをクリックしてください

入手方法XML ファイルからのデータについては、次の章で説明します。


loadXMLString() 関数

前のページのコードを保守しやすくするには (古いブラウザを確認してください)、関数として記述する必要があります。 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> セクションに格納して、スクリプトから呼び出すことができます。ページ。

上記の関数は、このチュートリアルのすべての XML 文字列インスタンスに使用されます。

loadXMLString()用の外部JavaScriptlamp.gifloadXMLString()関数を「loadxmlstring.js」というファイルに保存しました。


インスタンス

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

xmlDoc=loadXMLString(text);

document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue);
document.write("<br>");
document.write(xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue);
document.write("<br>");
document.write(xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue);
</script>
</body>
</html>

インスタンスの実行 »

「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します