主頁 > 知識庫 > Web設(shè)計(jì)中如何使用XML數(shù)據(jù)

Web設(shè)計(jì)中如何使用XML數(shù)據(jù)

熱門標(biāo)簽:隨州外呼調(diào)研系統(tǒng) r語言數(shù)據(jù)可視化地圖標(biāo)注 高德地圖地圖標(biāo)注服務(wù)中心 微信地圖標(biāo)注合并了 南寧網(wǎng)絡(luò)外呼系統(tǒng)運(yùn)營商 如何修改多個(gè)百度地圖標(biāo)注 本地電話機(jī)器人 東營電銷 400電話辦理包年

XML數(shù)據(jù)源對象是一個(gè)ActiveX控件,允許你在XML文件和HTML頁面之間操作數(shù)據(jù)。本文將向你展示如何從各種XML數(shù)據(jù)源中提取數(shù)據(jù),以及如何使用JavaScript顯示這些數(shù)據(jù)。

XML數(shù)據(jù)源對象DSO是一個(gè)微軟ActiveX控件,構(gòu)建在微軟IE4以后的版本上。這個(gè)對象允許你把一個(gè)外部的XML文件或者嵌入HTML文件中的內(nèi)容提取到HTML頁面中。

你可以在一個(gè)Web頁面中使用XML - DSO從一個(gè)外部XML文件中選取內(nèi)容,從嵌入Web頁面的XML中提取XML數(shù)據(jù),然后使用JavaScript操作這些數(shù)據(jù)。然而,并不建議在Internet中使用這個(gè)對象,因?yàn)镈SO只能工作在MSIE 4以上的瀏覽器中,因此這可能會(huì)帶來一些兼容性問題。 所以,在企業(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。使用下面的代碼在一個(gè)Web頁面中初始化這個(gè)控件:

<OBJECT ID="SomeID" CLASSID="CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39"></OBJECT>

雖然大部分對象需要許多參數(shù)與之相關(guān)聯(lián),但是XML-DSO不需要任何參數(shù)。

使用一個(gè)XML數(shù)據(jù)島析取數(shù)據(jù)

首先,通過使用<XML>標(biāo)記包含一個(gè)XML數(shù)據(jù)島。其次,給它分配一個(gè)ID,xmldb --以備以后使用。 數(shù)據(jù)實(shí)際上是使用HTML標(biāo)記:<ALT>,<SPAN>,<DIV>等等提取的。代碼列表1中的代碼使用了<SPAN>標(biāo)記。datasrc屬性指定了你想從中提取數(shù)據(jù)的那個(gè)數(shù)據(jù)島。datafld屬性指定了你想要的數(shù)據(jù)的XML標(biāo)記。所以,第一個(gè)<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>

注意這段代碼沒有初始化一個(gè)XML-DSO對象。這是因?yàn)閄ML數(shù)據(jù)島的使用中已經(jīng)隱式地創(chuàng)建了一個(gè)。輸出應(yīng)為:

Premshree Pillai
male

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

輸出將是:
Name Sex
Premshree Pillai male
Vinod male

在代碼列表2中,<TABLE>標(biāo)記使用<TD>標(biāo)記內(nèi)的<DIV>標(biāo)記提取數(shù)據(jù)。表格將自動(dòng)重復(fù)<member>(<name>和<sex>的母標(biāo)記)的每個(gè)實(shí)例。 代碼列表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文件提取數(shù)據(jù)

為了使用XML-DSO加載一個(gè)外部XML文件,你必須顯式的包含這個(gè)對象并且使用一些JavaScript。

首先創(chuàng)建一個(gè)XML-DSO對象,使用ID myXML。添加寬度和高度屬性到<OBJECT>標(biāo)記中,然后設(shè)置它們的值為0。這保證XML-DSO對象不會(huì)占據(jù)你的Web頁面的任何空間。

其次,使用datasrc創(chuàng)建一個(gè)象myXML一樣的表--類似于代碼列表2中一樣。代碼使用<DIV>標(biāo)記(在TD標(biāo)記之)提取數(shù)據(jù),使用datafld作為第一欄的信息,并且使用URL作為第二欄。添加<SCRIPT>標(biāo)記,因?yàn)樵谶@里,外部的XML使用Java腳本顯式地聲明你想要加載的XML文件。

設(shè)置變量xmlDso為myXML.XMLDocument。myXML引用你已經(jīng)創(chuàng)建的對象。接下來,使用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>
現(xiàn)在,研究一下下面的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()">

<o(jì)bject 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>

輸出應(yīng)是:

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

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

<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) (出處:PConline)

標(biāo)簽:宿遷 果洛 拉薩 寧夏 益陽 黃石 德州 西雙版納

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Web設(shè)計(jì)中如何使用XML數(shù)據(jù)》,本文關(guān)鍵詞  Web,設(shè)計(jì),中,如何,使用,XML,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Web設(shè)計(jì)中如何使用XML數(shù)據(jù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Web設(shè)計(jì)中如何使用XML數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章