数据岛在Ajax中的妙用。

原创 2007年10月12日 12:23:00

 前一段时间选了一门XML基础知识的课,虽然对于XML我早在学习HTML的时候因为好奇也学了些,记得也是在那个时候接触到XMLDOM,以及最为重要的XMLHTTP对象,当时还不知道Ajax技术,不过按照书上的例子结合ASP技术,也实现了简单的Ajax功能,当然这有点远了。


在上的这门课时,尽管我已了解了Ajax技术和XML的知识,不过在其中说到关于数据岛(Data Island)的知识,给了我很大的震撼。再次之前我知道数据岛是html页面xml数据,可以是直接插入到html页面的xml代码,也可以是外部xml文件的引用。外部xml文件可以是纯文本的xml格式的文件,也可以是任何可以在服务器上执行生成的xml文件。无论那种方式,必须要有id属性,作为数据岛的引用。通过这个id属性可以绑定大部分块标签,比如:DIV,Span,A,IMG以及表单text类,同时也可以在Javascript引用,就象一个DOM对象,并且可以得到一个Resultset对象。


而其中我想最重要的就是与表格Table的绑定。与其说是绑定,还不如说同时也是xml结构到Table中的映射,他能把xml数据直接显示在表格中。那么我们是不是可以先用表格设定数据的显示样式,然后通过改变数据岛中的数据,这样不是就可以不必象传统的Ajax编程模式那样得到数据然后进行大量的DOM操作,或是传送格式话好的数据利用innerText或innerHTML属性显示数据。那么假如使用数据岛,我们要做的就是分别的显示数据样式的编写,和对数据的操作。一方面可以分离美工与编程人员的工作,另一方面是逻辑更清晰,程序员可以只专注于数据树的构建,编程简单化了。同时也能减少网络中的数据传输量,在Ajax技术的开发初期,主要是使用XML作为数据传输格式的,但由于处理XML要使用很多的资源,JSON逐渐取代XML作为轻量级的数据传输格式,我想数据岛的使用将重新焕发XML作为一种数据传输格式在Ajax中的运用。


使用数据岛在Ajax中有三类典型的应用。


一类是实现客户端的数据筛选。比如说一条查询语句,得到数条近似的记录。那么可以将这些记录组织成数据岛,发送到客户端。在客户端将这些记录映射到表格对应的行中(或其他标签),不必处理显示的样式,只要更改数据岛中的数据,结果将自动的反映到表格中。这是很有用的。比如用户对于搜索的结果不满意,要在进行筛选,那么就可以结合XML DOM进行查询得到结点集,然后组织成一棵树替换数据岛,得到用户的结果,不必通过页面或是Ajax向服务器提交新的SQL查询。作为扩展可以在客户端保存一个初始数据的副本,这样就可以进行多次的筛选。


第二类是表单的自动填写。在这类应用中可以将表单的text元素与数据岛绑定,这样可以减少查找元素,然后付值的工作。


第三类典型的应用是后台的数据的管理。

XML 数据岛实例

HTML中的数据岛中的记录集 HT
  • tashanhongye
  • tashanhongye
  • 2015年10月27日 19:48
  • 756

HDU 1875 畅通工程再续 最小生成树(简单题)

点击打开链接   畅通工程再续 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...
  • Dinivity123
  • Dinivity123
  • 2013年08月14日 21:08
  • 848

数据岛运用示例,列车查询系统

本例是一个列车查询系统 有关列车信息存储在XML文件trains.xml 有关查询用脚本语言实现,程序嵌在train_find.html网页中 trains.xml K222 ...
  • jj88888
  • jj88888
  • 2014年12月25日 11:06
  • 1100

仙岛求药(BFS迷宫寻找最短路径)

描述 少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处。迷阵由M×N个方格组成,有的方格内有...
  • qq_33193309
  • qq_33193309
  • 2017年02月16日 16:48
  • 630

【分享】初音岛(D.C.)系列(包括D.C.III RX初音岛3) 汉化硬盘版游戏

游戏内容: [040528][CIRCUS]D.C.P.C~ダ・カーポ~プラスコミュニケーション [汉化硬盘版].rar(2.7GB) [060415][CIRCUS]D.C.II 春风のアルティメ...
  • wangzi867258173
  • wangzi867258173
  • 2015年04月21日 17:43
  • 17376

【openjudge】仙岛求药

描述 少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处。迷阵由M×N个方格组成,有的方格内...
  • Clove_unique
  • Clove_unique
  • 2015年12月13日 15:54
  • 1420

openjudge 仙岛求药

2727:仙岛求药查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB描述少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服...
  • clover_hxy
  • clover_hxy
  • 2015年12月07日 20:38
  • 858

C++广度优先搜索算法之仙岛求药

 仙岛求药 Description少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵...
  • C20190413
  • C20190413
  • 2017年06月09日 20:59
  • 328

photoshop制作美丽的彩虹岛壁纸

感谢HiZhen.cn 石小镇 的辛苦翻译  原载于photoshop8x 作者 佚名 这是一个很简单的photoshop教程,用了几个笔刷和素材。上手非常容易,但效果很不一般,学会了这些技法,你可以...
  • haibo0668
  • haibo0668
  • 2016年06月02日 13:01
  • 255

hdu 1875 畅通工程再续 解题报告

畅通工程再续 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S...
  • u011073831
  • u011073831
  • 2014年04月15日 20:26
  • 396
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据岛在Ajax中的妙用。
举报原因:
原因补充:

(最多只允许输入30个字)