微軟從IE5開始將資料島技術引入到瀏覽器中。通過使用資料島,可以輕鬆的將Xml資料繫結到HTML中,這樣就省去了手工填充資料的麻煩。另外,當改變Xml的資料時,繫結資料也會隨著Xml的改變而改變。
1、在HTML中引入Xml資料島
Xml資料島的使用方法有兩種,一種是在HTML中直接嵌入XML,另一種是外部引入Xml資料。
直接嵌入Xml資料島,是指將Xml文檔內容直接放在<xml>標籤中,使用方法如下:
<html>
<head></head>
<body>
<xml>
<?xml version="1.0" encoding="utf-8" ?>
<book>
<name>Xml應用系列</name>
<auhtor>學路的小孩</auhtor>
<date>2009-03-23</date>
</book>
</xml>
</body>
</html>
外部引入Xml資料,則是通過指定<xml>標籤的src屬性來實現的,例如:
<xml id="xmlData" src="book.xml"></xml>
2、將資料繫結到HTML標籤
將資料島中的資料繫結到HTML中,需要指定HTML標籤的兩個屬性:datasrc和datafld。其中,datasrc表示的是資料來源,即綁定那個資料來源;datafld表示的是綁定那個欄位。當這兩個屬性都被正確指定後,HTML就會顯示Xml中的資料了。下面用一個例子來說明:
還是原來的Xml文檔,通過外部引入到HTML中,然後通過綁定到span標籤中來顯示Xml中的資料。代碼如下:
<html>
<head>
<title>資料島測試</title>
<script type="text/javascript">
function btnOnclick()
{
var xmlDoc = document.getElementById("XmlData");
xmlDoc.documentElement.selectSingleNode("name").text = "abc";
}
</script>
</head>
<body>
<xml src="book.xml" id="XmlData"></xml>
<div>
<span>書名:</span>
<span datasrc="#XmlData" datafld="name"></span>
<br />
<span>作者:</span>
<span datasrc="#XmlData" datafld="author"></span>
<br />
<span>日期:</span>
<span datasrc="#XmlData" datafld="date"></span>
</div>
<input type="button" value="改變XML值" onclick="btnOnclick()" />
</body>
</html>
這段HTML代碼在IE中的效果如:
當單擊按鈕“改變XML值”後,通過執行JavaScript代碼,改變了xml資料的值,這時HTML中的資料會自動更新,
Xml資料島不僅可以綁定在span標籤,還可以綁定在table標籤中,並且可以多行顯示。另外,當綁定到span中時,如果Xml中有多條資料時,可以通過JavaScript來控制顯示哪一條資料。具體的JavaScript代碼為:moveFirst() 顯示第一條記錄、 movePrevious() 顯示上一條記錄、 moveNext() 顯示下一條記錄、 moveLast() 顯示最後一條記錄、 move(n) 顯示第n條記錄,n從0開始;還能夠通過BOF和EOF判斷是不是第一條記錄和最後一條記錄;這些方法和屬性都是XmlData.recordset屬性提供的。其中XmlData為資料島的ID。
要顯示Xml資料,其實方法不只有這一種,還可以通過為Xml文檔添加CSS樣式或者XSL文檔來將Xml中的資料呈現到瀏覽器中。下一篇我將介紹如何通過CSS和XSL來實現資料的顯示。請繼續關注。
聲明
作者:齊飛Email:youring2@gmail.com
歡迎轉載,但請保留本段資訊!