麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > XML > 正文

Web設計中如何使用XML數據

2024-09-05 20:54:11
字體:
來源:轉載
供稿:網友

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");

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 99国内精品视频 | 亚洲成人免费网站 | 久久久入口 | 精品国产一区二区三区四区阿崩 | 免费看日韩av| 国产高清美女一级毛片久久 | 在线成人免费av | 日本高清电影在线播放 | 9191色 | 色妞欧美| 羞羞的网站 | 欧美精品免费一区二区三区 | 黄色网址电影 | v片在线看 | 久草干 | 久久久一区二区 | 一级做受毛片免费大片 | 中文字幕视频在线播放 | 亚洲网站免费看 | av电影在线观看网站 | 久草在线网址 | 亚洲视频精选 | av成人一区二区 | 黄污网址| 久久99国产精品视频 | 天堂成人国产精品一区 | 久久精品一区二区三区不卡牛牛 | 又黄又爽免费无遮挡在线观看 | 国产精品麻豆一区二区三区 | 九九午夜视频 | 成人羞羞在线观看网站 | 2021国产精品| 国内免费视频成人精品 | 久久免费视频8 | 国产成人精品免费视频大全办公室 | 亚洲网站免费看 | 一本色道久久99精品综合蜜臀 | www.91sese| 亚洲精品午夜视频 | 特黄一级小说 | 精品国产一区二区三区四区在线 |