




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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文档,然后再将特定的XML元素链接到SPAN或TABLE等标准的HTML元素,这些HTML元素就会自动显示它们所绑定的XML元素内容。,使用DSO技术来显示XML文档数据的两个主要步骤: (1)把要显示的XML文档绑定到一个HTML文档中 。这个步骤是通过在HTML文档中添加一个名为XML的特定元素来实现的。 (2)把XML文档中的元素与HTML文档中特定的元素绑定 。,示例:mingzhu.dtd, 三国演义 罗贯中 文艺出版社 0-765-58007-8 80 红楼梦 曹雪芹 三秦出版社 0-765-58007-9 22 ,mingzhu.html, 数据绑定 数据绑定实例 书名 类别 书号 作者 出版社,定价 数量 余量 ,8.1.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, 登录 用户登录 名称: 密码: ,8.1.3 XML元素绑定到HTML元素,第一种方法是将全部XML元素绑定到HTML文档的TABLE元素 ,使得HTML网页中的表格能够自动显示XML文档的记录集合。此时应在标记中添加DATASRC属性,并将一个自定义的数据源对象名称(数据岛标识符)作为其属性值。 如之前的例子:mingzhu.html,第二种方法是将指定的XML元素绑定到HTML文档的其他特定元素,例如绑定到SPAN、DIV、BUTTON等元素。此时在标记中除了应添加DATASRC属性之外,还应添加DATAFLD属性来指定所绑定的XML文档中的某个字段。采用此种方法一次只能显示一条记录或记录中的一个字段。 并不是所有的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元素之后,XML文档中的每一个记录的数据都会被分别显示在HTML网页的不同表格行中,而XML记录元素中的每一个字段数据则会被分别显示于不同的表格栏中。 示例参见mingzhu.html,8.2.3 使用DSO显示元素属性,对于XML文档中含有属性的记录元素,在使用DSO方式进行处理时,只需将该元素的属性作为记录的一个特定字段来处理即可。因此就可以利用普通的数据绑定技巧来存取元素属性的值。,8.3 DSO数据源对象,将XML文档与HTML文档绑定之后,在内存中生成的记录集合是一个属于DSO的recordset对象。该对象提供了一组符合Microsoft 的ADO标准数据访问技术的方法和属性,因而可以通过script编程调用这些方法和属性来对记录集进行访问和处理。 可以根据需要调用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基础教程与实验指导 孙晓非 38 XML入门经典 David Hunter 118 XML高级编程 Bill Evjen 98 XML案例解析教程 Mitch Amiano 36 XML开发典型应用 张朝明 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 = 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“); nodeBook.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=“新图书名称“; , 图书标题 图书作者 图书价格 ,效果:,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.moveFirst(); function lastrec() dso.recordset.movelast(); , 图书信息 图书标题: 图书作者: 图书价格: 第一条记录 上一条记录 下一条记录 最后一条记录 ,效果:,8.3.4 分页显示DSO数据,要实现被绑定的XML文档中的众多记录用分页的表格来显示,需执行下列步骤: (1)将被绑定的TABLE 元素的DATAPAGESIZE 属性设定成希望每一页显示的记录个数。 (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 LastPage() books.lastPage(); , 分页显示数据 请输入一页中要查看的记录数: 图书标题 图书作者 图书价格 ,效果:,8.4 DSO与xsl,goods.xml: 联想笔记本电脑 4999元 TCL液晶电视 5682元 海尔洗衣机 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.XMLDocument; divResults.innerHTML = xmlDso.transformNode(xslDso); function load3() var xmlDso = dso.XMLDocument; var xslDso = Stylesheet3.XMLDocument; divResults.innerHTML = xmlDso.transformNode(xslDso); ,,,效果样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纪念白求恩字词课件
- 语音管理知识与技能培训课件
- 2025农药买卖合同样本
- 2025建筑工地塔吊租赁协议
- 语文专业知识短期培训课件
- 红色革命课件
- 红细胞形态异常课件
- 红楼梦李纨人物课件
- 人力资源管理手册员工培训模块
- 聚焦2025年新能源行业品牌忠诚度构建与技术创新路径报告
- 产品经理绩效管理制度
- 2025年烟台市中考历史试卷真题(含答案)
- 2025四川产业振兴基金投资集团有限公司招聘12人笔试参考题库附带答案详解析集合
- 风湿免疫病患者结核病诊治及预防实践指南(2025版)解读课件
- 膜结构车棚安装合同协议
- 山东省2016年安装定额解释
- 2025-2030中国相变热界面材料行业市场现状供需分析及投资评估规划分析研究报告
- 《中华人民共和国公务员法概述》课件
- 华为公司财务报表分析案例
- 安徽省合肥市2025届高三下学期第二次教学质量检测 英语试题(含解析无听力音频有听力原文)
- 《分数乘法》(2课时)(教学设计)-2024-2025学年六年级上册数学苏教版
评论
0/150
提交评论