XML DOM 加載函數
加載 XML 文檔中的代碼可以存儲在一個函數中。
loadXMLDoc() 函數
為了使前一頁中的代碼易於維護(檢查舊的流覽器),它應該寫成一個函數:
loadxmldoc.js 檔代碼:
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> 部分,並從頁面中的腳本調用。
上面描述的函數,用於本教程中所有 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() 函數
為了使前一頁中的代碼易於維護(檢查舊的流覽器),它應該寫成一個函數:
loadxmlstring.js 檔代碼:
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> 部分,並從頁面中的腳本調用。
上面描述的函數,用於本教程中所有 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>