哪里有IE里的数据岛应用的最佳实例?

RT
---------------------------------------------------------------

 1<html>
 2<body>
 3<xml id="abc">
 4<?xml version="1.0" ?>
 5<data>
 6<fld>
 7<name>John</name>
 8<sex>male</sex>
 9</fld>
10<fld>
11<name>Judy</name>
12<sex>female</sex>
13</fld>
14</data>
15</xml>
16<table datasrc="#abc">
17<tr>
18<td><div datafld="name" type="text"></div></td>
19<td><div datafld="sex" type="text"></div></td>
20</tr>
21</table>
22</body>
23</html>

---------------------------------------------------------------

test.htm

  1<html>
  2<head>
  3<script>   
  4var sig=true   
  5function sort(strKey)   
  6{   
  7var xml1=mxhxml.XMLDocument   
  8var xsl1=mxhxsl.XMLDocument   
  9var s1=xsl1.selectSingleNode("//xsl:for-each/@order-by")   
 10if(s1.value==strKey) s1.value="-" + strKey   
 11else   
 12s1.value=strKey   
 13document.all.mxh.innerHTML=xml1.transformNode(xsl1)   
 14}   
 15</script>
 16</head>
 17<body onload="sort('Name')">
 18<div id="mxh"></div>
 19<xml id="mxhxsl">
 20<?xml version="1.0"?>
 21<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
 22<xsl:template match="/">   
 23点击标题排序:   
 24<table border="2">
 25<tr>
 26<th onclick="sort('Name')" style="cursor:hand">名称</th>
 27<th onclick="sort('Email')" style="cursor:hand">电子邮件</th>
 28</tr>
 29<xsl:for-each order-by="Name" select="/Custs/Cust">
 30<tr>
 31<td>
 32<xsl:value-of select="Name"></xsl:value-of>
 33</td>
 34<td>
 35<xsl:value-of select="Email"></xsl:value-of>
 36</td>
 37</tr>
 38</xsl:for-each>
 39</table>
 40</xsl:template>
 41</xsl:stylesheet>
 42</xml>
 43<xml id="mxhxml">
 44<?xml version="1.0"?>
 45<custs>
 46<cust>
 47<name>Nancy</name>
 48<email>[email protected]</email>
 49</cust>
 50<cust>
 51<name>Peter</name>
 52<email>[email protected]</email>
 53</cust>
 54<cust>
 55<name>Rachel</name>
 56<email>[email protected]</email>
 57</cust>
 58<cust>
 59<name>Seth</name>
 60<email>[email protected]</email>
 61</cust>
 62<cust>
 63<name>Tim</name>
 64<email>[email protected]</email>
 65</cust>
 66</custs>
 67</xml>   
 68  
 69\---------------------------------------------------------------   
 70  
 71<xml src="http://localhost/xxx.asp"></xml>   
 72\---------------------------------------------------------------   
 73  
 74http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmconxmldataislands.asp   
 75\---------------------------------------------------------------   
 76  
 77ASP+XML实现网页数据绑定   
 78  
 79一、数据绑定技术   
 80数据绑定技术可以使用在IE4.0以上版本的IE浏览器中,网页制作者可以灵活的改变页面风格而无需担心破坏数据显示代码,因为数据和页面是分离的,相关代码也很少。当数据更新时,只需要刷新中间显示数据的部分,而页面的其它部分不变,就好像没有刷新一样,显示效果更好;因为只下载了数据部分,网页的其它部分没有重复下载,浏览速度更快。如果灵活应用,还可以实现无刷新搜索和分页等功能。   
 81二、XML数据岛   
 82在HTML中,可以加入<xml>标签,从而在HTML嵌入XML格式的数据,或者引用外部的XML格式的文件。通过设置<xml>标签的ID属性,可以通过脚本访问这些数据,也可以把它与<table>捆绑到一起;也可以设置<xml>的SRC属性,导入外部的XML格式数据。   
 83例如,下面是一个新闻系统的XML示例:   
 841、内部嵌入   
 85<html>   
 86...   
 87<xml id="XMLData1">
 88<?xml version="1.0" encoding="gb2312"?>
 89<root>
 90<news>
 91<title>你好</title>
 92<content>你好吗</content>
 93<date>2002-2-23</date>
 94</news>
 95<news>
 96<title>你好1</title>
 97<content>哈哈哈</content>
 98<date>2002-2-23</date>
 99</news>
100<news>
101<title>大家好哇</title>
102<content>大家好哇1</content>
103<date>2002-2-23</date>
104</news>
105</root>
106</xml>   
107...   
108<html>   
1092、外部文件   
110<html>   
111...   
112<xml id="XMLData1" src="search.asp">
113</xml>   
114...   
115</html>   
116三、<table>标签的属性设置   
117<table>有一个DataSrc属性用于指定数据源。比如,有一个名为:XMLDS01的XML数据岛作为数据源,<table>的写法就是:   
118<table datasrc="#XMLDS01">   
119注意:要在引用的数据源名称前加#号。   
120规范的<table>有三个部分:<thead>、<tbody>、<tfoot>。在数据捆绑技术中,通常把表头和表尾分别写在<thead>和<tfoot>中,在其中写一些表格标题之类的文字。而<tbody>可以对数据源提供的数据做循环显示。但是,<td>标签不能和数据源捆绑在一起,所以需要在<td>里加一个可捆绑的<div>标签作为数据的容器。例如,前面新闻系统数据捆绑的代码如下:   
121<table datasrc="#XMLDS01" name="tbNews">
122<thead>
123<tr>
124<td>新闻标题</td>
125<td>内容提示</td>
126<td>日期</td>
127</tr>
128</thead>
129<tbody>
130<tr>
131<td>
132<div datafld="title"></div>
133</td>
134<td>
135<div datafld="content"></div>
136</td>
137<td>
138<div datafld="date"></div>
139</td>
140</tr>
141</tbody>
142</table>   
143  
144四、数据源的实现   
145上面的代码将一个HTML表格与一个名为XMLDS01的数据源绑定在一起。上面已经提到,XML数据岛引用的外部文件只要在格式上符合XML标准即可,扩展名不一定需要是.XML。所以,我们可以通过ASP产生XML格式的输出,然后通过HTML的<xml>标签与表格捆绑在一起:   
146<xml id="XMLData1" src="search.asp"></xml>   
147注意:XML的标签是区分大小写的!并且所有的标签都需要关闭,输出时一定要注意匹配;ASP默认的Content-Type是text/html,在这里需要通过Response.ContentType="text/xml"来设置一下,使浏览器把输出结果当xml处理。   
148示例代码:   
149在后台提供数据的search.asp文件:   

dbstr="Driver={Microsoft Access Driver (*.mdb)};DBQ="&amp;server.mappath("basicnews.mdb")
set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = dbstr
rs.Source = "SELECT * from tblNews1"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 3
rs.Open()

szXml="<?xml version=""1.0"" encoding=""gb2312""?><root>"
do while not rs.eof
szXml=szXml&amp;"<news>"
szXml=szXml&amp;"<title>"&amp;rs("Title")&amp;"</title>"
szXml=szXml&amp;"<content>"&amp;rs("content")&amp;"</content>"
szXml=szXml&amp;"<date>"&amp;rs("CreaDate")&amp;"</date>"
szXml=szXml&amp;"</news>"
rs.movenext
loop
szXml=szXml&amp;"</root>"
response.ContentType="text/xml"
response.write szXml

set rs=nothing

 1在前台设置数据显示样式的list.html文件:   
 2<html>
 3<head>
 4<title> New Document </title>
 5</head>
 6<body>
 7<xml id="XMLDS01" src="search.asp"></xml>
 8<table datasrc="#XMLDS01" name="tbNews">
 9<thead>
10<tr>
11<td>新闻标题</td>
12<td>内容提示</td>
13<td>日期</td>
14</tr>
15</thead> <tbody>
16<tr>
17<td>
18<div datafld="title"></div>
19</td>
20<td>
21<div datafld="content"></div>
22</td>
23<td>
24<div datafld="date"></div>
25</td>
26</tr>
27</tbody>
28</table>
29</body>
30</html>   
31以上代码通过修改,可以实现搜索功能,只要传递搜索参数给search.asp文件,使asp文件只输出搜索后的数据。</xml></div></td></td></tbody></tfoot></thead></tfoot></tbody></thead></table></table></table></table></table></html></html></xml></table></xml></xml></body></html>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus