⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml技术系列讲座(6)xml与html的结合(下) - fanqiang_com.htm

📁 详细的讲述了XML相关知识
💻 HTM
📖 第 1 页 / 共 2 页
字号:
                <TD class=a14>&lt;/TR&gt;&lt;/TBODY&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;/TABLE&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>事实上,使用DSO效果最好的情况是针对结构对称的数据,而处理非对称数据更有效的办法是使用我们以后将要介绍的DOM技术。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14><B>2、DSO技术的应用</B></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14><I>1.访问元素的属性</I></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
            class=a14>用DSO访问元素的属性很简单,可以直接把属性按子元素来处理。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>例如:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;book 
            isbn=“9-001-122-12”&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>……</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;/book&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
class=a14>这样,在绑定到HTML表格中时,就可以直接按子元素来处理:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;TD&gt;&lt;SPAN DATAFLD=“isbn”&gt; 
                  &lt;/SPAN&gt;&lt;/TD&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
            class=a14>如果遇到属性名和子元素名一样的情况,在元素名前加上“!”进行区分。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14><I>2.遍历记录集</I></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>DSO把XML数据岛当做ADO记录集进行处理的一大好处是可以利用ADO提供的各种方法对数据源进行访问,尤其是当把数据岛与类似SPAN、DIV和INPUT等HTML元素绑定时。通常这些元素显示的是记录集的首条记录,要想对记录集进行遍历浏览,可以使用ADO的方法 
                  : 
                  Move、MoveFirst、MoveLast、MoveNext和MovePrevious。比如创建一个按钮响应函数,只要用户点击“Next”按钮,就可以逐条浏览相应的记录。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>例如:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;XML ID=“xmldso” 
              SRC=“books.xml”&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;/XML&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>Sub btnNext_onclick()</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>xmldso.RecordSet.MoveNext</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>End Sub</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14><I>3.与Script语言相结合</I></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                class=a14>有些用户比较习惯编写Script语言,利用DSO技术同样可以与各种Script很好地结合在一起。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>例如(以VB Script为例),访问记录集时,代码如下: 
            </TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>Dim rsBooks</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>Set rsBooks = 
            xmldso.RecordSet</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>访问字段(子元素)的值:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>Dim sTitle</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>sTitle = rsBooks(“title”)</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>可以使用innerText和innerHTML属性把得到的值传递给HTML元素。例如,有一个DIV元素名为divTitle,赋值代码如下所示:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>divTitle.innerTEXT = sTitle</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>利用脚本程序还可以处理许多DSO事件,下表列举了其中的一部分事件:</TD></TR>
              <TR>
                <TD class=a14>
                  <TABLE width="100%" border=1>
                    <TBODY>
                    <TR>
                      <TD width="33%" bgColor=#c0c0c0>事件</TD>
                      <TD width="33%" bgColor=#c0c0c0>触发事件</TD>
                      <TD width="34%" bgColor=#c0c0c0>响应</TD></TR>
                    <TR>
                      <TD width="33%">onDataAvailable</TD>
                      <TD width="33%">新数据准备就绪</TD>
                      <TD width="34%">当前运行状态中记录集中条目的个数</TD></TR>
                    <TR>
                      <TD width="33%">onDataSetComplete</TD>
                      <TD width="33%">数据源中的所有数据已经到达</TD>
                      <TD width="34%">显示数据,或返回一个确认消息</TD></TR>
                    <TR>
                      <TD width="33%">onDataSetChanged</TD>
                      <TD width="33%">记录集中的数据修改完毕,可以访问</TD>
                      <TD width="34%">显示更新后的数据</TD></TR>
                    <TR>
                      <TD width="33%">onRowEnter</TD>
                      <TD width="33%">当前记录指针已经移动</TD>
                      <TD 
              width="34%">在显示数据前对数据进行必要的格式化</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>在脚本中处理各种事件的方法就是在&lt;SCRIPT&gt;标签中使用FOR属性指定XML数据岛ID,使用EVENT属性确定事件类型。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>例如,获取记录集中条目的个数:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;SCRIPT Language=“VB Script” FOR=“xmldso” 
                  EVENT=“onDataAvailable”&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>lblRecords.value = 
                booklist.RecordSet.RecordCount</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;/SCRIPT&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>除了显示记录数据之外,脚本程序还可以对记录集进行快速查询、排序、编辑等操作。但要指出的是,虽然ADO技术中提供了类似SortColumn和SortAscending等方法对XML数据进行排序,但是效果不如XSL中的排序操作,所以建议大家充分利用XSL技术来实现这部分功能。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>其余的功能,如利用脚本对记录集进行诸如增加、删除、修改等操作,或是分页显示HTML表格等等,在这里就不一一举例说明了,用法与前面的操作大同小异。最后需要说明的是,所有对DSO对象的操作都是在用户端完成的,实际上是服务器数据对象的一份复制品,这样做的好处是避免了网络承受大量数据通信的负担。但这时用户端所做的任何操作对服务器上存储的数据毫无影响,如果要想对服务器记录也进行修改,那么就要用到客户端与服务器端的数据交换技术,我们将在以后对此进行介绍。</TD></TR><!--HTML_END--><BR><!-- 正文end --><BR>(http://www.fanqiang.com)<BR></FONT><BR><FONT 
              color=#999999><SMALL></SMALL></FONT><BR></TD></TR></TBODY></TABLE><BR></FONT></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
        <TBODY>
        <TR>
          <TD align=middle width=620>
            <TABLE cellSpacing=0 cellPadding=0 width=562 border=0>
              <TBODY>
              <TR>
                <TD width=562>
                  <TABLE cellSpacing=0 cellPadding=0 width=562 border=0>
                    <TBODY>
                    <TR>
                      <TD></TD></TR>
                    <TR>
                      <TD height=10></TD></TR></TBODY></TABLE><!--结束:底部-->
                  <TABLE width=750 border=0>
                    <TBODY>
                    <TR>
                      <TD width="100%" bgColor=#d09f0d colSpan=5 height=2><IMG 
                        height=1 
                        src="XML技术系列讲座(6)XML与HTML的结合(下) - fanqiang_com.files/c.gif" 
                        width=1></TD></TR>
                    <TR>
                      <TD vAlign=top width="100%" colSpan=5 height=40>
                        <P align=center><FONT color=#ffffff>★&nbsp;&nbsp;樊强制作 
                        欢迎分享&nbsp;&nbsp;★ </FONT></P></TD></TR></TBODY></TABLE>
                  <CENTER></CENTER></TR></TBODY></TABLE></TR></TBODY></TABLE></TR></TBODY></TABLE></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -