代码下载
文章概要:
- 相关概念;
- recordset的使用;
- 使用XML数据岛和XSLT转换输出样式;
一、几个简单的概念:
- DSO(Data Source Object):XML DSO就是一个Microsoft ActiveX控件,嵌入到Microsoft Internet Explorer中;
- XML数据岛:<XML>和 </XML>标签之间绑定的XML数据称为XML数据岛;
二、DSO将所有的记录存储在recordset对象中,而recordset对象的属性和方法可以用于做操作记录。下面的实例感觉起来和DetalsView类似:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>无标题页</title> <script type ="text/javascript" > function previor() { if(!mybook.recordset.bof) { mybook.recordset.moveprevious(); if(mybook .recordset.bof) { mybook.recordset.movefirst(); alert("已经到达第一条记录"); } } } function next() { if(!mybook.recordset.eof) { mybook.recordset.movenext(); if(mybook.recordset.eof) { mybook.recordset.movelast(); alert ("这是最后一条记录"); } } } </script> </head> <body> <xml src="books.xml" id="mybook"></xml> <table border="1"> <tr> <td>书名</td> <td>作者</td> <td>价格</td> </tr> <tr> <td><div datasrc="#mybook" datafld="title" ></div></td> <td><div datasrc="#mybook" datafld="authorname"></div></td> <td> <div datasrc="#mybook" datafld="price"></div></td> </tr> </table> <input type ="button" value="首条" onclick ="mybook.recordset.movefirst()"/> <input type="button" value="下一个" onclick ="next()"/> <input type ="button" value="上一个" onclick ="previor()" /> <input type ="button" value="末条" onclick="mybook.recordset.movelast()" /> </body> </html>
还有和Gridview类似实现:
<xml src="books.xml" id="mybook"></xml> <table datasrc="#mybook" border ="1"> <thead> <tr> <td > 书名</td> <td >作者</td> <td >价格</td> </tr> </thead> <tr > <td ><div datafld="title"></div></td ><td ><div datafld="authorname"></div></td> <td ><div datafld="price"></div></td> </tr> </table>
首先需要两个XML数据岛
<xml src="books.xml" id="mybook"></xml> <xml src="XSLTFile.xslt" id="stylesheet"></xml>
var xmlDso = mybook.XMLDocument; var xslDso = stylesheet.XMLDocument; divResults.innerHTML = xmlDso.transformNode(xslDso);
哲学
马克思
100
计算机科学与技术
比尔盖茨
200
.net
蜡笔小新
150