大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> XML专区 -> Web设计中如何使用XML数据源对象

Web设计中如何使用XML数据源对象

时间: 2021-07-31 作者:daque

  xml数据源货色是一个activex控件,许诺你在xml文件和html页面之间安排数据。正文将向你展示还好吗从千般xml数据源中给予数据,以及还好吗应用javascript表白那些数据。   xml数据源货色dso是一个微软activex控件,创造在微软ie4尔后的簿本上。这个货色许诺你把一个外部的xml文件大约嵌入html文件中的本质给予到html页面中。   你无妨在一个web页面中应用xml - dso从一个外部xml文件中沿用本质,从嵌入web页面包车型的士xml中给予xml数据,尔后应用javascript安排那些数据。然而,并不倡议在internet中应用这个货色,因为dso只能处世在msie 4之上的观赏器中,以是这大约会带来一些兼容性标题。 以是,在企业内里网应用xml-dso是很适合的。   发源  为了初始化xml - dso货色,我们应用<object>标记。 用来xml-dso的classid是:    clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39  这id独一标识xml-dso。应用下面的代码在一个web页面中初始化这个控件:   <object id="someid" classid="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39"></object>  纵然大限制货色需要很多参数与之联系联,但是xml-dso不需要任何参数。   应用一个xml数据岛析取数据  发端,过程应用<xml>标记囊括一个xml数据岛。其次,给它分配一个id,xmldb --以备尔后应用。 数据实质上是应用html标记:<alt>,<span>,<div>之类给予的。代码列表第11国学的代码应用了<span>标记。datasrc属性指定了你想居中给予数据的那个数据岛。datafld属性指定了你想要的数据的xml标记。以是,第一个<span>给予称谓,而第二<span>给予性别。   代码列表1:<!-- example1.htm --><html><head><title>xml dso-example1.htm</title></head><body bgcolor="#ffffff"><xml id="xmldb"><db><member><name>premshree pillai<name><sex>male</sex></member><member><name>vinod</name><sex>male</sex></member></db></xml><span datasrc="#xmldb" datafld="name"<</span><br><span datasrc="#xmldb" datafld="sex"></span></body></html>

  堤防这段代码没有初始化一个xml-dso货色。这是因为xml数据岛的应用中保持隐式地创作了一个。输出应为:     premshree pillai  male  堤防在xml数据岛中有两个<name>和<sex>标记。应用这个本事,你只能给予那些标记中的第一个典型。代码列表第22国学的代码应用<table>标记给予十足的典型:   输出将是:    

name

sex

web设计中如何使用xml数据源对象图1

premshree pillai

male

vinod

male

  在代码列表第22国学,<table>标记应用<td>标记内的<div>标记给予数据。表格将灵活重复<member>(<name>和<sex>的母标记)的每个典型。   代码列表2:<!-- example2.htm --><html><head><title>xml dso-example2.htm</title></head><body bgcolor="#ffffff"><xml id="xmldb"><db><member><name>premshree pillai<name><sex>male</sex></member><member><name>vinod</name><sex>male</sex></member></db></xml><table datasrc="#xmldb" border="1"><thead><th>name</th><th>sex</th></thead><tr><td><div datafld="name"></div></td><td><div datafld="sex"></div></td></tr></table></body></html>

  应用外部xml文件给予数据  为了应用xml-dso加载一个外部xml文件,你必定显式的囊括这个货色并且应用一些javascript。   发端创作一个xml-dso货色,应用id myxml。填补宽窄和莫斯科大学属性到<object>标记中,尔后竖立它们的值为0。这养护xml-dso货色不会吞食你的web页面包车型的士任何空间。   其次,应用datasrc创作一个象myxml一致的表--普遍于代码列表第22国学一致。代码应用<div>标记(在td标记之)给予数据,应用datafld举措第一栏的动静,并且应用url举措第二栏。填补<script>标记,因为在这边,外部的xml应用java脚本显式地表明你想要加载的xml文件。   竖立变量xmldso为myxml.xmldocument。myxml引用你保持创作的货色。接下来,应用xml-dso的load()本事加载example3.xml。文件example3.xml贯串到货色myxml上。 <!-- example3.xml --><?xml version="1.0" ?><ticker><item><message>javascript ticker using xml dso</message><url>http://someurl.com</url></item></ticker>

  现在,接收一下下面的html页面: <!-- example3.htm --><html><head><title>xml dso-example3.htm</title><script language="javascript">function load() {var xmldso=myxml.xmldocument;xmldso.load("example3.xml");}</script></head><body bgcolor="#ffffff" onload="load()"><object id="myxml" classid="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" width="0" height="0"></object><table datasrc="#myxml" border="1"><thead><th>message</th><th>url</th></thead><tr><td><div datafld="message"></div></td><td><div datafld="url"></div></td></tr></table></body></html>

  输出应是:    message url   javascript ticker using xml dso http://someurl.com  上面的脚本特出特殊化。下面给出一个更一致的脚本: <script language="javascript">var xmldso;function load(xmlfile, objname) {eval('xmldso='+objname+'.xmldocument');xmldso.load(xmlfile);}</script>now, to load any xml file use: load("somexmlfile.xml","anyxmldsoobject");

  应用xml-dso和javascript  假设你有一个囊括全名、电子邮件场合和电话号子的xml文件。你想应用它创造一个应用步伐,表白每局部的档案--一次表白一个。用户将应用"next"和"previous"按钮观赏每局部的数据。javascript无妨辅助你举行这个本领。   下面的代码应用记录集本事把文件中十足的数据存在到一个变量memberset中。movenext()本事指向下一个数据项(下一条龙)。脚本尔后载入xml文件example4.xml,把记录存在到变量memberset中。第一个记录将被表白,但是memberset.movenext()指向文件中对抗于前一个指定命据的下一个记录。 <!-- example4.xml --><?xml version="1.0" ?><mydb><member><name>premshree pillai</name><sex>male</sex></member><member><name>vinod</name><sex>male</sex></member><member><name>santhosh</name><sex>male</sex></member></mydb>

  这边是相应的html文件: <!-- example4.htm --><html><head><title>xml dso-example4.htm</title><script language="javascript">function load() {var xmldso=mydb.xmldocument;xmldso.load("example4.xml");/* get the complete record set */var memberset=mydb.recordset;/* go to next data */memberset.movenext();}</script></head><body bgcolor="#ffffff" onload="load()"><object id="mydb" classid="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" width="0" height="0"></object><span datasrc="#mydb" datafld="name"></span></body></html>

  输出应是:    vinod  下面给出更多应用javascript安排xml-dso的本事:    · moveprevious(): 指向前一个数据项。    · movefirst(): 指向第一个数据项。    · movelast(): 指向截止一个数据项。    · eof: 这个属性用来检查和测定我们是否保持到达数据记录的底部。   应用xml-dso和javascript  假设你有一个囊括全名、电子邮件场合和电话号子的xml文件。你想应用它创造一个应用步伐,表白每局部的档案--一次表白一个。用户将应用"next"和"previous"按钮观赏每局部的数据。javascript无妨辅助你举行这个本领。   下面的代码应用记录集本事把文件中十足的数据存在到一个变量memberset中。movenext()本事指向下一个数据项(下一条龙)。脚本尔后载入xml文件example4.xml,把记录存在到变量memberset中。第一个记录将被表白,但是memberset.movenext()指向文件中对抗于前一个指定命据的下一个记录。 <!-- example4.xml --><?xml version="1.0" ?><mydb><member><name>premshree pillai</name><sex>male</sex></member><member><name>vinod</name><sex>male</sex></member><member><name>santhosh</name><sex>male</sex></member></mydb>

  这边是相应的html文件: <!-- example4.htm --><html><head><title>xml dso-example4.htm</title><script language="javascript">function load() {var xmldso=mydb.xmldocument;xmldso.load("example4.xml");/* get the complete record set */var memberset=mydb.recordset;/* go to next data */memberset.movenext();}</script></head><body bgcolor="#ffffff" onload="load()"><object id="mydb" classid="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" width="0" height="0"></object><span datasrc="#mydb" datafld="name"></span></body></html>

  输出应是:    vinod  下面给出更多应用javascript安排xml-dso的本事:    · moveprevious(): 指向前一个数据项。    · movefirst(): 指向第一个数据项。    · movelast(): 指向截止一个数据项。    · eof: 这个属性用来检查和测定我们是否保持到达数据记录的底部。   initticker()发端察看是否有ie 4+。纵然观赏器是ie4+,这个xml文件被迫作一个参数被传递并载入。纵然及时器妨碍了,那么调用xmldsoticker()因变量。xmldsoticker()取消xmlfile参数之外,和initticker()有勾通的参数,因为xml文件保持被载入。xmldsoticker()察看变量counter(初始值为maxmsgs)是否小于maxmsgs-1。纵然是,movenext()本事指向tickerset中下一个数据项。   html页面包车型的士body囊括下面的代码: <a href=" datasrc="#ticker" datafld="url" class="tickerstyle"><span datasrc="#ticker" datafld="message"></span></a>

图1:及时器应用步伐表白输出。  在这段代码中,<a>标记把xml文件的url举措它的datafld。<span>标记把xml文件的动静举措它的datafld。这个动静在<span>元素中表白,尔后一切动静无妨过程这段动静相应的url贯串。   多么,<a>和<span>元素囊括下一个数据项(url和动静)。在一段延迟尔后,<a>和<span>指向下一个数据。惟有counter<maxmsgs-1(计数器历次递加),这个安排就会暴发。纵然counter<maxmsgs-1是假,计数器就被竖立为0,尔后指向tickerset中的第一个数据项。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.