Latest web development tutorials

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

實例

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

<script>
xmlDoc=loadXMLDoc("books.xml");

code goes here.....

</script>

</body>
</html>

嘗試一下»

如何從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" 文件中。

實例

<html>
<head>
<script src="loadxmlstring.js"></script>
</head>
<body>
<script>
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>

嘗試一下»