新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML基础 』 → Web设计中如何使用XML数据 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 10219 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: Web设计中如何使用XML数据 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     diy930 帅哥哟,离线,有人找我吗?双鱼座1979-3-8
      
      
      威望:4
      头衔:用脑专家
      等级:大三暑假(TOFEL考了650分!)
      文章:50
      积分:930
      门派:XML.ORG.CN
      注册:2004/7/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给diy930发送一个短消息 把diy930加入好友 查看diy930的个人资料 搜索diy930在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看diy930的博客楼主
    发贴心情 Web设计中如何使用XML数据

    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>的母标记)的每个实例。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    我只知道,用 xml 做网站,可以省我很多时间.

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/7/21 11:46:00
     
     diy930 帅哥哟,离线,有人找我吗?双鱼座1979-3-8
      
      
      威望:4
      头衔:用脑专家
      等级:大三暑假(TOFEL考了650分!)
      文章:50
      积分:930
      门派:XML.ORG.CN
      注册:2004/7/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给diy930发送一个短消息 把diy930加入好友 查看diy930的个人资料 搜索diy930在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看diy930的博客2
    发贴心情 
    代码列表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>

    ----------------------------------------------
    我只知道,用 xml 做网站,可以省我很多时间.

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/7/21 11:47:00
     
     diy930 帅哥哟,离线,有人找我吗?双鱼座1979-3-8
      
      
      威望:4
      头衔:用脑专家
      等级:大三暑假(TOFEL考了650分!)
      文章:50
      积分:930
      门派:XML.ORG.CN
      注册:2004/7/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给diy930发送一个短消息 把diy930加入好友 查看diy930的个人资料 搜索diy930在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看diy930的博客3
    发贴心情 
    现在,研究一下下面的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)

    ----------------------------------------------
    我只知道,用 xml 做网站,可以省我很多时间.

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/7/21 11:48:00
     
     GoogleAdSense双鱼座1979-3-8
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/2 6:10:20

    本主题贴数3,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms