您好,欢迎访问三七文档
数据岛技术数据岛的定义和数据岛的引入方式HTML与数据岛的数据绑定方式(显示数据)DSO对象操作XML数据的方法DSO对象的ADO记录集的操作DSO对象为XML文档动态指定样式单的方法在Web上使用数据岛的优势XML数据的显示技术CSSXSLXSL:一种格式转换技术,将XML文档转换为HTML文档后进行显示。有没有可能——直接利用HTML的方式来显示XML数据?数据岛技术!数据岛XML数据岛:存在于HMTL页面中的XML数据使用非正式的XML标记嵌入XML数据非正式:数据岛技术不是W3C的推荐标准是微软的技术,在InternetExplorer5.0版本以上的浏览器中才可使用数据岛的引入嵌入式:HTML文件中直接嵌入XML文档数据链接式:在HTML文档中链入独立的XML文件中的数据嵌入式实例htmlheadtitle嵌入式数据岛/title/headbodyxmlid=dso学生名单学生姓名刘博文/学生姓名学生成绩69/学生成绩/学生名单/xmlcenterh1学生成绩单/h1form学生姓名:inputtype=textdatasrc=#dsodatafld=学生姓名size=20br学生成绩:inputtype=textdatasrc=#dsodatafld=学生成绩size=20/form/center/body/html缺点:没有实现数据和显示分离链入式实例name.xml?xmlversion=1.0encoding=UTF-8?学生名单学生姓名刘博文/学生姓名学生成绩69/学生成绩/学生名单引入XML数据岛htmlheadtitle链入式数据岛/title/headbodyxmlid=dsosrc=“name.xml/centerh1学生成绩单/h1form学生姓名:inputtype=textdatasrc=#dsodatafld=学生姓名size=20br学生成绩:inputtype=textdatasrc=#dsodatafld=学生成绩size=20/form/center/body/htmlXML元素与HTML标记绑定数据文件对象可绑定的HTML标记(2-1)HTML标记作用被绑定的属性A创建超级链接hrefAPPLET在页面中插入JAVA小应用程序paramBUTTON创建按钮innerHTML,innerTextDIV创建可格式化的部分文档innerHTML,innerTextFRAME创建框架srcIFRAME创建可浮动框架srcIMG插入图片srcINPUTTYPE=CHECKBOX创建复选框checkedINPUTTYPE=RADIO创建单选框checked可绑定的HTML标记(2-2)HTML置标作用被绑定的属性INPUTTYPE=HIDDEN创建隐藏控件valueINPUTTYPE=PASSWORD创建口令输入框valueINPUTTYPE=TEXT创建文本输入框valueTEXTAREA创建多行文本输入区valueLABEL创建标签innerHTML,innerTextMARQUEE创建滚动文字innerHTML,innerTextSELECT创建下拉列表列表项目SPAN创建格式化的内联文本innerHTML,innerText对XML文档数据的添加、修改、删除操作——DSOXML文件数据的显示通过数据岛绑定技术实现是否可以像DOM技术一样可以对XML文档数据进行添加、修改、删除操作?DSO对象(数据源对象)MisrosoftActiveX控件DSO对象保存XML文档的数据提供访问数据的方法DSO与DOMDOM以树状数据结构存储XML文件(任何形式都可以)java接口DSO适用于:具有对称性数据记录集结构的XML文件javascript变量名为一个单词的要求为小写字母,变量名由两个或多个单词组成则要求第二个和第二个以后的单词的首字母为大写DOM结构树中的一些方法和属性在DSO对象中适用区别:java的方法名前一般有getgetDocumentElementjavascript的方法名前没有getdocumentElementDSO对象还有自己的方法:dso.xml获取XML文件的文本数据dso.url获取XML文件的存放位置DSO对象对XML文档的操作实例(3-1)name.xml?xmlversion=1.0encoding=UTF-8?学生名单学生id=“101”学生姓名刘博文/学生姓名学生成绩69/学生成绩/学生学生id=“102”学生姓名李明/学生姓名学生成绩56/学生成绩/学生/学生名单DSO对象对XML文档的操作实例(3-2)程序功能:显示XML文档、显示文件路径、增加一个学生数据、删除所有学生数据htmlheadtitle访问数据岛对象/title/headxmlid=dossrc=name.xml/xmlbodyscriptlanuage=javascriptfunctiona(){alert(dos.xml);}functionb(){alert(dos.url);}functionadd(){varroot=dos.documentElement;root.appendChild(dos.createElement(学生));varnewChild=dos.documentElement.lastChild;newChild.setAttribute(id,new);varname=dos.createElement(学生姓名);name.appendChild(dos.createTextNode(张三));newChild.appendChild(name);alert(dos.xml);}DSO对象对XML文档的操作实例(3-3)functiondele(){varobj=dos.documentElement.childNodes;varnumber=obj.length;for(vari=0;inumber;i++){dos.documentElement.removeChild(obj.item(0));}alert(dos.xml);}/scriptcenterforminputtype=buttonvalue=显示XMLonClick=a()inputtype=buttonvalue=显示文件所在路径onClick=b()inputtype=buttonvalue=增加一个学生数据onClick=add()inputtype=buttonvalue=删除所有学生数据onClick=dele()/form/body/htmlXML数据的查询——DSO的ADO记录集(2-1)DSO把XML数据岛当作ADO记录集(数据库中概念)ADORecordset对象可被用来容纳来自数据库表的记录集。对数据库的访问是从记录集中提取数据。好处:利用ADO提供的各种方法XML数据的查询——DSO的ADO记录集(2-2)ADO的RecordSet常用属性和方法:属性:absolutePage(当前记录所在的页),absolutePosition(当前记录相对于第一条记录的位置),BOF(第一条记录),EOF(最后一条记录),cacheSize(记录集每次从服务器返回的记录数),maxRecords(记录集返回的记录数),pageCount(页数),pageSize(每页显示的记录数),recordCount(记录总数)等;方法:addNew,Delete,getRows,move,moveFirst,moveLast,movePrevious,moveNext,nextPage,previousPage,firstPage,lastPage等。注意:ADO能直接执行SQL语句,但DSO中的ADO不能。DSO对象的ADO记录集操作实例(3-1)程序功能:查询学生成绩name.xml?xmlversion=1.0encoding=UTF-8?学生名单学生id=“101”学生姓名liubowen/学生姓名学生成绩69/学生成绩/学生学生id=“102”学生姓名liming/学生姓名学生成绩56/学生成绩/学生/学生名单HTMLHEADTITLE使用脚本查询XML文档/TITLE/HEADBODYXMLID=xmldataSRC=name.xml/XMLH2在线学生成绩查询/H2查询姓名包含的文字:INPUTTYPE=TEXTID=seekstrBUTTONONCLICK='seekbook()'查询/BUTTONbrHRb查询结果:/bbrbrspanID=result/spanDSO对象的ADO记录集操作实例(3-2)SCRIPTtype=text/javascriptfunctionseekbook(){varstr=seekstr.value;//接收用户输入的姓名信息if(str==){result.innerHTML=fontcolor='#ff0000'你没有输入查询字符串/font;return;}xmldata.recordset.moveFirst();//返回到第一条记录,从第一条记录开始查询varresultStr=;while(!xmldata.recordset.EOF){name=xmldata.recordset(“学生姓名”).value;//得到当前记录的学生姓名if(name.indexOf(str)=0)//当前学生姓名名是否包含查询关键字{resultStr+=tr+tdb+xmldata.recordset(学生姓名).value+/b/tdtd+xmldata.recordset(学生成绩).value+/td/tr;}xmldata.recordset.moveNext();//继续查询下一条记录}if(resultStr==)result.innerHTML=fontcolor='#ff0000'未找到满足条件的学生姓名/font;elseresult.innerHTML=tablecellspacing='10'+resultStr+/table;}/SCRIPT/BODY/HTMLDSO对象的ADO记录集操作实例(3-3)htmlheadtitle表格对象绑定/title/headbodyxmlid=dossrc=name.xml/xmlcentertabledatasrc=#dosborder=1width=80%id=xmltabledatapagesize=3theadtrth学生姓名/thth学生成绩/th/tr/theadtrtdspandatafld=学生姓名/span/tdtdspandatafld=学生成绩/span/td/tr/tablecenterbuttononclick=xmltable.firstPage()第一页/buttonbuttononclick=xmltable.previousPage()前一页/buttonbuttononclick=xmltable.nextPage()后一页/buttonbuttononclick=xmltabl
本文标题:第10讲数据岛技术
链接地址:https://www.777doc.com/doc-2153071 .html