您的位置:首页精文荟萃软件资讯 → Web设计中如何使用XML数据

Web设计中如何使用XML数据

时间:2004/10/7 18:11:00来源:本站整理作者:蓝点我要评论(0)

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>等等提取的。代码列表1中的代码使用了<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>标记。使用这个方法,你只能提取这些标记中的第一个实例。代码列表2中的代码使用<TABLE>标记提取所有的实例:

  输出将是:
    Name         Sex
   Premshree Pillai   male
   Vinod         male

  在代码列表2中,<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一样的表--类似于代码列表2中一样。代码使用<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");(csdn)
 

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本