使用DSO显示XML文档_第1页
使用DSO显示XML文档_第2页
使用DSO显示XML文档_第3页
使用DSO显示XML文档_第4页
使用DSO显示XML文档_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

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

5、若将XML文档绑定到HTML网页文档之后,再使用SPAN、DIV、BUTTON 等HTML元素绑定到个别的XML字段,结果这些HTML元素就会自动显示所绑定的XML字段的内容。使用这种方法来显示所绑定的XML文档时,通常一次只能显示一条记录,所以被绑定的XML文档都相当简单。未绑定table的效果,仍使用DSO单值绑定四大名著效果:8.2.2 使用简单表格显示XML记录将XML文档作为数据源对象并绑定到HTML文档的TABLE元素之后,XML文档中的每一个记录的数据都会被分别显示在HTML网页的不同表格行中,而XML记录元素中的每一个字段数据则会被分别显示于不同的表格栏中。示例参见8.2.3

6、使用DSO显示元素属性对于XML文档中含有属性的记录元素,在使用DSO方式进行处理时,只需将该元素的属性作为记录的一个特定字段来处理即可。因此就可以利用普通的数据绑定技巧来存取元素属性的值。8.3 DSO数据源对象将XML文档与HTML文档绑定之后,在内存中生成的记录集合是一个属于DSO的recordset对象。该对象提供了一组符合Microsoft 的ADO标准数据访问技术的方法和属性,因而可以通过script编程调用这些方法和属性来对记录集进行访问和处理。可以根据需要调用recordset对象的任何一个方法来撰写有关的script程序。调用这些方法最简单的方式就是在HTML文档中通过将某个

7、方法直接指定到BUTTON元素的ONCLICK属性中。8.3.1 DSO与javascript的使用张三同学8李四朋友1通信录function view()alert(dso.xml);名称联系方式8.3.2 操作DSO记录:XML基础教程与实验指导孙晓非38XML入门经典David Hunter118XML高级编程Bill Evjen98XML案例解析教程Mitch Amiano36XML开发典型应用张朝明65图书列表function view()alert(dso.documentElement.nodeName);function viewFirst() alert(dso.docume

8、ntElement.childNodes0.childNodes0.nodeName); alert(dso.documentElement.childNodes0.childNodes0.firstChild.nodeValue);function add() var nodeBook = dso.createElement(图书); var nodeTitle = dso.createElement(标题);nodeTitle.appendChild(dso.createTextNode(XML基础教程);var nodeAuthor = dso.createElement(作者);nod

9、eAuthor.appendChild(dso.createTextNode(耿祥义);var nodePrice = dso.createElement(价格);nodePrice.appendChild(dso.createTextNode(21);nodeBook.appendChild(nodeTitle);nodeBook.appendChild(nodeAuthor);nodeBook.appendChild(nodePrice);dso.documentElement.appendChild(nodeBook);function del()dso.documentElement.

10、removeChild(dso.documentElement.childNodes0);function modi()dso.documentElement.childNodes0.childNodes0.firstChild.text=新图书名称;图书标题图书作者图书价格效果:8.3.3 遍历XML数据岛数据图书遍历function firstrec()dso.recordset.moveFirst();function nxtrec()if(!dso.recordset.EOF)dso.recordset.moveNext();if(dso.recordset.EOF)dso.recor

11、dset.movelast();function prevrec()if(!dso.recordset.BOF)dso.recordset.movePrevious();if(dso.recordset.BOF)dso.recordset.moveFirst();function lastrec()dso.recordset.movelast();图书信息图书标题:图书 图书价格:第一条记录上一条记录下一条记录最后一条记录效果:8.3.4 分页显示DSO数据要实现被绑定的XML文档中的众多记录用分页的表格来显示,需执行下列步骤:(1)将被绑定的TABLE 元素的DATAPAGESIZE 属性设

12、定成希望每一页显示的记录个数。(2)为被绑定的TABLE 元素的ID 属性指定一个唯一的识别代号。(3)要实现在各个表格页之间翻页浏览,可使用脚本程序调用DSO提供的用于控制分页显示的方法。图书列表function ViewBooks() books.dataPageSize = items.value;books.firstPage();function FirstPage() books.firstPage();function PrevPage() books.previousPage();function NextPage() books.nextPage();function Las

13、tPage() books.lastPage();分页显示数据请输入一页中要查看的记录数:图书标题图书作者图书价格效果:8.4 DSO与xslgoods.xml:联想笔记本电脑4999元TCL液晶电视5682元海尔洗衣机2866元样式1样式2物品名称物品价格样式3(商品行情:涨价)(商品行情:降价)样式切换function load1()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet1.XMLDocument;divResults.innerHTML = xmlDso.transformNode(xslDso);function load2()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet2.XMLDocument;divResults.innerHTML = xmlDso.transformNode(xslDso);function load3()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet3.XMLDocument;d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论