DSO(可下载实例代码)

 

代码下载

文章概要:

  • 相关概念;
  • recordset的使用;
  • 使用XML数据岛和XSLT转换输出样式;

一、几个简单的概念:

  1. DSO(Data Source Object):XML DSO就是一个Microsoft ActiveX控件,嵌入到Microsoft Internet Explorer中;
  2. 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

原文地址:https://www.cnblogs.com/LittleFeiHu/p/1890579.html