XML確實是個好東西,尤其是現在大部分網站都是生成HTML靜態頁面的,但是有一些數據是需要動態改變的,頻繁更新HTML不是個好辦法,這個時候XML就大顯身手了,只需要把經常變動的內容保存成XML,在HTML頁面上調用就可以,需要時只要更新下XML,不過在HTML中調用XML數據還是有點不怎么容易,數據島適合大量數據的顯示,但是只支持IE,下面這段小代碼可以兼容大部分瀏覽器【附件里面有全部文件】:
這里是要顯示XML數據的HTML文件內容【ShowXML.html】:
<html>
<head>
<script type="text/javascript">
//頁面內容全部載入以后載入XML數據
var xmlDoc
window.onload = function (){
// code for IE
if (window.ActiveXObject){
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load("Data.xml");
getXML()
}
// code for Mozilla, etc.
else if (document.implementation && document.implementation.createDocument){
xmlDoc = document.implementation.createDocument("","",null);
xmlDoc.load("Data.xml");
xmlDoc.onload = getXML
}
else{
alert('您的瀏覽器不支持JavaScrpit,XML數據將不能顯示。');
}
}
function getXML(){
document.getElementById("xmlData_Name").innerHTML = xmlDoc.getElementsByTagName("name")[0].firstChild.nodeValue
document.getElementById("xmlData_Email").innerHTML = xmlDoc.getElementsByTagName("email")[0].firstChild.nodeValue
document.getElementById("xmlData_Address").innerHTML = xmlDoc.getElementsByTagName("address")[0].firstChild.nodeValue
document.getElementById("xmlData_Address_1").innerHTML = xmlDoc.getElementsByTagName("address")[1].firstChild.nodeValue
}
</script>
</head>
<body>
<h1>HTML顯示XML示例:</h1>
<b>姓名:</b> <span id="xmlData_Name"></span><br />
<b>郵箱:</b> <span id="xmlData_Email"></span><br />
<b>地址:</b> <span id="xmlData_Address"></span>
<hr />
<b>地址:</b> <span id="xmlData_Address_1"></span>
</body>
</html>
下面是XML文件內容【Data.xml】:
<?xml version="1.0" encoding="gb2312" ?>
<date>
<addr>
<name>紫茉莉.Net</name>
<email>Zimoli.Net@QQ.com</email>
<address><![CDATA[這里是可以是HTML內容,<a href="#">這里是個鏈接。</a>]]></address>
</addr>
<addr>
<name>流行孤單</name>
<email>Zimoli.Net@Gmail.com</email>
<address><![CDATA[這里是第二條XML記錄的內容。</a>]]></address>
</addr>
</date>