使用dso显示xml文档

上传人:j****9 文档编号:54633439 上传时间:2018-09-16 格式:PPT 页数:49 大小:727KB
返回 下载 相关 举报
使用dso显示xml文档_第1页
第1页 / 共49页
使用dso显示xml文档_第2页
第2页 / 共49页
使用dso显示xml文档_第3页
第3页 / 共49页
使用dso显示xml文档_第4页
第4页 / 共49页
使用dso显示xml文档_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《使用dso显示xml文档》由会员分享,可在线阅读,更多相关《使用dso显示xml文档(49页珍藏版)》请在金锄头文库上搜索。

1、第8章 使用DSO显示XML文档,8.1 DSO简介,8.1.1 DSO基本概念 与HTML文档绑定的XML数据源对象简称为DSO,通常也称为嵌入HTML文档中的XML数据岛。 使用DSO,借助HTML网页来显示XML文档内容,既能保持XML文档数据与其显示格式分离的特点,又具备HTML网页的丰富显示格式。,利用DSO技术显示XML文档的机制是,把链接到HTML网页中的一个XML文档或一段XML数据当作一个类似于数据库的记录集(Recordset)对象,然后使用与数据库类似的操作方法来显示和浏览被链接的XML文档的内容。 采用DSO技术,首先需要进行数据绑定,即将XML文档数据绑定到HTML文

2、档,然后再将特定的XML元素链接到SPAN或TABLE等标准的HTML元素,这些HTML元素就会自动显示它们所绑定的XML元素内容。,使用DSO技术来显示XML文档数据的两个主要步骤: (1)把要显示的XML文档绑定到一个HTML文档中 。这个步骤是通过在HTML文档中添加一个名为XML的特定元素来实现的。 (2)把XML文档中的元素与HTML文档中特定的元素绑定 。,示例:mingzhu.dtd,三国演义罗贯中文艺出版社0-765-58007-880红楼梦曹雪芹三秦出版社0-765-58007-922,mingzhu.html,数据绑定数据绑定实例书名类别书号作者出版社,定价数量余量,8.1

3、.2 XML文档绑定到HTML网页,被邦定到HTML网页的XML文档数据将成为一个数据源对象,也被称为数据岛。可以使用两种不同的数据岛形式,即:外部数据岛和内部数据岛。,1内部数据岛 内部数据岛是将XML文档的全部内容放在HTML文档中特定的XML元素的起始标记与结束标记之间,并在XML起始标记中给出这个数据岛的ID标识。 2外部数据岛 外部数据岛是在名为XML的HTML元素中仅包含所需绑定的XML文档的URL及其ID标识。,内部数据岛示例:,将mingzhu.xml的内容直接写到mingzhu.html文件当中。,外部数据岛示例:login.xml,张朝昆123456 ,Login.html

4、,登录用户登录名称:密码:,8.1.3 XML元素绑定到HTML元素,第一种方法是将全部XML元素绑定到HTML文档的TABLE元素 ,使得HTML网页中的表格能够自动显示XML文档的记录集合。此时应在标记中添加DATASRC属性,并将一个自定义的数据源对象名称(数据岛标识符)作为其属性值。 如之前的例子:mingzhu.html,第二种方法是将指定的XML元素绑定到HTML文档的其他特定元素,例如绑定到SPAN、DIV、BUTTON等元素。此时在标记中除了应添加DATASRC属性之外,还应添加DATAFLD属性来指定所绑定的XML文档中的某个字段。采用此种方法一次只能显示一条记录或记录中的一

5、个字段。 并不是所有的HTML元素都可以与XML元素绑定。,8.2 使用DSO显示记录,8.2.1 使用DSO显示单一记录 若将XML文档绑定到HTML网页文档之后,再使用SPAN、DIV、BUTTON 等HTML元素绑定到个别的XML字段,结果这些HTML元素就会自动显示所绑定的XML字段的内容。使用这种方法来显示所绑定的XML文档时,通常一次只能显示一条记录,所以被绑定的XML文档都相当简单。,未绑定table的效果,仍使用mingzhu.xml,DSO单值绑定四大名著,效果:,8.2.2 使用简单表格显示XML记录,将XML文档作为数据源对象并绑定到HTML文档的TABLE元素之后,XM

6、L文档中的每一个记录的数据都会被分别显示在HTML网页的不同表格行中,而XML记录元素中的每一个字段数据则会被分别显示于不同的表格栏中。 示例参见mingzhu.html,8.2.3 使用DSO显示元素属性,对于XML文档中含有属性的记录元素,在使用DSO方式进行处理时,只需将该元素的属性作为记录的一个特定字段来处理即可。因此就可以利用普通的数据绑定技巧来存取元素属性的值。,8.3 DSO数据源对象,将XML文档与HTML文档绑定之后,在内存中生成的记录集合是一个属于DSO的recordset对象。该对象提供了一组符合Microsoft 的ADO标准数据访问技术的方法和属性,因而可以通过scr

7、ipt编程调用这些方法和属性来对记录集进行访问和处理。 可以根据需要调用recordset对象的任何一个方法来撰写有关的script程序。调用这些方法最简单的方式就是在HTML文档中通过将某个方法直接指定到BUTTON元素的ONCLICK属性中。,8.3.1 DSO与javascript的使用,张三同学031112345678李四朋友031187654321,contacts.html,通信录function view()alert(dso.xml);名称联系方式,8.3.2 操作DSO记录:tushu.xml,XML基础教程与实验指导孙晓非38XML入门经典David Hunter118XM

8、L高级编程Bill Evjen98XML案例解析教程Mitch Amiano36XML开发典型应用张朝明65,tushu.html,图书列表function view()alert(dso.documentElement.nodeName);function viewFirst()alert(dso.documentElement.childNodes0.childNodes0.nodeName);alert(dso.documentElement.childNodes0.childNodes0.firstChild.nodeValue);,function add()var nodeBook

9、 = dso.createElement(“图书“);var nodeTitle = dso.createElement(“标题“);nodeTitle.appendChild(dso.createTextNode(“XML基础教程“);var nodeAuthor = dso.createElement(“作者“);nodeAuthor.appendChild(dso.createTextNode(“耿祥义“);var nodePrice = dso.createElement(“价格“);nodePrice.appendChild(dso.createTextNode(“21“);node

10、Book.appendChild(nodeTitle);nodeBook.appendChild(nodeAuthor);nodeBook.appendChild(nodePrice);dso.documentElement.appendChild(nodeBook);function del()dso.documentElement.removeChild(dso.documentElement.childNodes0);function modi()dso.documentElement.childNodes0.childNodes0.firstChild.text=“新图书名称“;,图书

11、标题图书作者图书价格,效果:,8.3.3 遍历XML数据岛数据,图书遍历function firstrec()dso.recordset.moveFirst();function nxtrec()if(!dso.recordset.EOF)dso.recordset.moveNext();if(dso.recordset.EOF)dso.recordset.movelast();,function prevrec()if(!dso.recordset.BOF)dso.recordset.movePrevious();if(dso.recordset.BOF)dso.recordset.move

12、First();function lastrec()dso.recordset.movelast();,图书信息图书标题:图书作者:图书价格:第一条记录上一条记录下一条记录最后一条记录,效果:,8.3.4 分页显示DSO数据,要实现被绑定的XML文档中的众多记录用分页的表格来显示,需执行下列步骤: (1)将被绑定的TABLE 元素的DATAPAGESIZE 属性设定成希望每一页显示的记录个数。 (2)为被绑定的TABLE 元素的ID 属性指定一个唯一的识别代号。 (3)要实现在各个表格页之间翻页浏览,可使用脚本程序调用DSO提供的用于控制分页显示的方法。,图书列表function ViewBo

13、oks() books.dataPageSize = items.value;books.firstPage();function FirstPage() books.firstPage();function PrevPage() books.previousPage();function NextPage() books.nextPage();function LastPage() books.lastPage();,分页显示数据请输入一页中要查看的记录数:图书标题图书作者图书价格,效果:,8.4 DSO与xsl,goods.xml:联想笔记本电脑4999元TCL液晶电视5682元海尔洗衣机

14、2866元,goods1.xslt,样式1,goods2.xslt,样式2物品名称物品价格,goods3.xslt,样式3(商品行情:涨价)(商品行情:降价),goods.html,样式切换function load1()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet1.XMLDocument;divResults.innerHTML = xmlDso.transformNode(xslDso);function load2()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet2.X

15、MLDocument;divResults.innerHTML = xmlDso.transformNode(xslDso);function load3()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet3.XMLDocument;divResults.innerHTML = xmlDso.transformNode(xslDso);,,,效果样式1,效果样式2,效果样式3,8.5 使用DSO显示图像元素,使用DSO技术,还可以把XML文档元素绑定到除TABLE和SPAN之外的其他HTML元素,以实现特定XML数据的显示功能。这些HTML元素包括DIV、BUTTON、IMG等。 如果将XML文档的图像元素绑定到HTML的IMG元素,即可方便地实现在网页中显示出对应的图像。,img.xml (部分程序),img/1.jpg动物,img.html (部分程序),第一张图片上一张图片下一张图片最后一张图片 ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号