DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS進階教程 >> Web設計中如何使用XML數據源對象
Web設計中如何使用XML數據源對象
編輯:CSS進階教程     

  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:

 
  注意這段代碼沒有初始化一個XML-DSO對象。這是因為XML數據島的使用中已經隱式地創建了一個。輸出應為:
  
  Premshree Pillai
  male

  注意在XML數據島中有兩個<name>和<sex>標記。使用這個方法,你只能提取這些標記中的第一個實例。代碼列表2中的代碼使用<TABLE>標記提取所有的實例:

  輸出將是:
    Name SexPremshree Pillai maleVinod male
  在代碼列表2中,<TABLE>標記使用<TD>標記內的<DIV>標記提取數據。表格將自動重復<member>(<name>和<sex>的母標記)的每個實例。

  代碼列表2:

  <!-- example2.htm -->

  使用外部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 -->

  現在,研究一下下面的HTML頁面:
  <!-- example3.htm -->


  <!-- example3.htm -->

  輸出應是:

  Message URL
  JavaScript Ticker using XML DSO http://someURL.com

  上面的腳本非常特殊化。下面給出一個更一般的腳本:

  


  

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved