Web設(shè)計中如何使用XML數(shù)據(jù)_Xml教程
推薦:WEB頁面工具之語言XML的定義XML是一個精簡的SGML,它將SGML的豐富功能與HTML的易用性結(jié)合到Web的應(yīng)用中。XML保留了SGML的可擴展功能,這使XML從根本上有別于HTML。XML要比HTML強大得多,它不再是固定的標(biāo)記,而是允許定義
XML數(shù)據(jù)源對象是一個ActiveX控件,允許你在XML文件和HTML頁面之間操作數(shù)據(jù)。本文將向你展示如何從各種XML數(shù)據(jù)源中提取數(shù)據(jù),以及如何使用JavaScript顯示這些數(shù)據(jù)。
XML數(shù)據(jù)源對象DSO是一個微軟ActiveX控件,構(gòu)建在微軟IE4以后的版本上。這個對象允許你把一個外部的XML文件或者嵌入HTML文件中的內(nèi)容提取到HTML頁面中。
你可以在一個Web頁面中使用XML - DSO從一個外部XML文件中選取內(nèi)容,從嵌入Web頁面的XML中提取XML數(shù)據(jù),然后使用JavaScript操作這些數(shù)據(jù)。然而,并不建議在Internet中使用這個對象,因為DSO只能工作在MSIE 4以上的瀏覽器中,因此這可能會帶來一些兼容性問題。 所以,在企業(yè)內(nèi)部網(wǎng)使用XML-DSO是很合適的。
開始
為了初始化XML - DSO對象,我們使用<OBJECT>標(biāo)記。 用于XML-DSO的CLASSID是:
CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39
這ID唯一標(biāo)識XML-DSO。使用下面的代碼在一個Web頁面中初始化這個控件:
<OBJECT ID="SomeID" CLASSID="CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39"></OBJECT>
雖然大部分對象需要許多參數(shù)與之相關(guān)聯(lián),但是XML-DSO不需要任何參數(shù)。
使用一個XML數(shù)據(jù)島析取數(shù)據(jù)
首先,通過使用<XML>標(biāo)記包含一個XML數(shù)據(jù)島。其次,給它分配一個ID,xmldb --以備以后使用。 數(shù)據(jù)實際上是使用HTML標(biāo)記:<ALT>,<SPAN>,<DIV>等等提取的。代碼列表1中的代碼使用了<SPAN>標(biāo)記。datasrc屬性指定了你想從中提取數(shù)據(jù)的那個數(shù)據(jù)島。datafld屬性指定了你想要的數(shù)據(jù)的XML標(biāo)記。所以,第一個<SPAN>提取名稱,而第二<SPAN>提取性別。
代碼列表1:
| 以下為引用的內(nèi)容: <!-- example1.htm --> <span datasrc="#XMLdb" datafld="name"></span> </body> |
注意這段代碼沒有初始化一個XML-DSO對象。這是因為XML數(shù)據(jù)島的使用中已經(jīng)隱式地創(chuàng)建了一個。輸出應(yīng)為:
Premshree Pillai
male
注意在XML數(shù)據(jù)島中有兩個<name>和<sex>標(biāo)記。使用這個方法,你只能提取這些標(biāo)記中的第一個實例。代碼列表2中的代碼使用<TABLE>標(biāo)記提取所有的實例:
輸出將是:
Name Sex
Premshree Pillai male
Vinod male
在代碼列表2中,<TABLE>標(biāo)記使用<TD>標(biāo)記內(nèi)的<DIV>標(biāo)記提取數(shù)據(jù)。表格將自動重復(fù)<member>(<name>和<sex>的母標(biāo)記)的每個實例。
代碼列表2:
| 以下為引用的內(nèi)容: <!-- example2.htm --> <xml id="XMLdb"> <table datasrc="#XMLdb" border="1"> </body> |
使用外部XML文件提取數(shù)據(jù)
為了使用XML-DSO加載一個外部XML文件,你必須顯式的包含這個對象并且使用一些JavaScript。
首先創(chuàng)建一個XML-DSO對象,使用ID myXML。添加寬度和高度屬性到<OBJECT>標(biāo)記中,然后設(shè)置它們的值為0。這保證XML-DSO對象不會占據(jù)你的Web頁面的任何空間。
其次,使用datasrc創(chuàng)建一個象myXML一樣的表--類似于代碼列表2中一樣。代碼使用<DIV>標(biāo)記(在TD標(biāo)記之)提取數(shù)據(jù),使用datafld作為第一欄的信息,并且使用URL作為第二欄。添加<SCRIPT>標(biāo)記,因為在這里,外部的XML使用Java腳本顯式地聲明你想要加載的XML文件。
設(shè)置變量xmlDso為myXML.XMLDocument。myXML引用你已經(jīng)創(chuàng)建的對象。接下來,使用XML-DSO的load()方法加載example3.xml。文件example3.xml連接到對象myXML上。
| 以下為引用的內(nèi)容: <!-- example3.XML --> <?XML version="1.0" ?> <ticker> <item> <message>JavaScript Ticker using XML DSO</message> <URL>http://someURL.com</URL> </item> </ticker> |
現(xiàn)在,研究一下下面的HTML頁面:
| 以下為引用的內(nèi)容: <!-- example3.htm --> <object id="myXML" CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" <table datasrc="#myXML" border="1"> </body> |
輸出應(yīng)是:
Message URL
JavaScript Ticker using XML DSO http://someURL.com
上面的腳本非常特殊化。下面給出一個更一般的腳本:
| 以下為引用的內(nèi)容: <script language="JavaScript"> |
分享:XML入門教程:使用CSS顯示XML通過使用CSS,您可以為某個XML文檔添加顯示信息。 使用CSS顯示您的XML? 使用CSS來格式化XML文檔是有可能的。 下面的例子就是關(guān)于如何使用CSS樣式表來格式化某個XML文檔: 這是XML文件
- xml創(chuàng)建節(jié)點(根節(jié)點、子節(jié)點)
- WML開發(fā)教程之 WAP網(wǎng)站服務(wù)器配置方法
- WMLScript的語法基礎(chǔ)
- 收集的WML Script標(biāo)準(zhǔn)函數(shù)庫
- WML教程之文本框控件Input
- 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)
- xml文件的結(jié)構(gòu)解讀
- 關(guān)于XSL - XSL教程
- 選擇模式 - XSL教程 - 2
- XPath入門 - XSL教程 - 3
- 匹配模式 - XSL教程 - 4
- 測試模式 - XSL教程 - 5
- 相關(guān)鏈接:
- 教程說明:
Xml教程-Web設(shè)計中如何使用XML數(shù)據(jù)
。