濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > XML輕松學(xué)習(xí)手冊(cè)(5)XML實(shí)例解析

XML輕松學(xué)習(xí)手冊(cè)(5)XML實(shí)例解析

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

第五章:XML實(shí)例解析

提綱:

一:實(shí)例效果

二:實(shí)例解析
  1.定義新標(biāo)識(shí)。
  2.建立XML文檔。
  3.建立相應(yīng)的HTML文件。

XML在不同領(lǐng)域有著廣泛的應(yīng)用,比如在科技領(lǐng)域的MathML,無線通信應(yīng)用的WML,在網(wǎng)絡(luò)圖象方面的SVG等等,我們這里側(cè)重討論XML在web上的應(yīng)用。XML在web上應(yīng)用主要是利用其強(qiáng)大的數(shù)據(jù)操作能力。一般用XML配合javascript和asp等服務(wù)器端程序,可以實(shí)現(xiàn)網(wǎng)絡(luò)上幾乎所有的應(yīng)用需求。

考慮講解方便,我們?cè)谙旅娼榻B一個(gè)簡(jiǎn)單的實(shí)例,不包含服務(wù)器端程序。目的在于讓您對(duì)XML的數(shù)據(jù)操作能力有一個(gè)感性的認(rèn)識(shí)。

好,我們首先[ 點(diǎn)擊這里 ]來看實(shí)例的效果。(請(qǐng)用IE5.0以上版本瀏覽器打開)

這是一個(gè)簡(jiǎn)單的CD唱片數(shù)據(jù)檢索功能。你通過點(diǎn)擊"上一張","下一張"可以看到單張CD的有關(guān)信息。這樣的效果我們?cè)瓉碛脙煞N方法可以實(shí)現(xiàn):

1.利用DHTML,將數(shù)據(jù)隱藏在不同的層中,通過鼠標(biāo)事件依次顯示;

2.利用后臺(tái)程序(如ASP,CGI,PHP,JSP等),調(diào)用服務(wù)器端的數(shù)據(jù)。

但是在這個(gè)實(shí)例中,我們打開頁面原代碼可以看到,其中沒有用DHTML的DIV,也沒有表單的action,它完全是用XML來實(shí)現(xiàn)的。下面我們來分析它的制作過程:

第一步:定義新標(biāo)識(shí)。
根據(jù)實(shí)際的CD數(shù)據(jù),首先新建一個(gè)名為CD>的標(biāo)識(shí);其次建立它相關(guān)的數(shù)據(jù)標(biāo)識(shí),分別是:CD名稱Title>,演唱者Artist>,出版年代Year>,國家Country>,發(fā)行公司Company>和價(jià)格Price>;最后還要建立一個(gè)名為目錄CATALOG>的標(biāo)識(shí)。為什么要再建立一個(gè)CATALOG>標(biāo)識(shí)呢?因?yàn)樵赬ML文檔中規(guī)定,必須且只能有一個(gè)根元素(標(biāo)識(shí)),我們有多個(gè)CD數(shù)據(jù),這些數(shù)據(jù)是并列的關(guān)系,所以需要為這些并列的元素建立一個(gè)根元素。
以上元素的定義和關(guān)系都完全符合XML標(biāo)準(zhǔn),不需要特別的DTD文件來定義,所以可以省略DTD定義。如果我們想使用DTD來定義,以上過程可以表示為:

!ELEMENT CATALOG (CD)*>
!ELEMENT CD (Title,Artist,Year,Country,Company,Price)>
!ELEMENT Title (#PCDATA)>
!ELEMENT Artist (#PCDATA)>
!ELEMENT Year (#PCDATA)>
!ELEMENT Country (#PCDATA)>
!ELEMENT Company (#PCDATA)>
!ELEMENT Price (#PCDATA)>

這段代碼表示:元素CATALOG包含多個(gè)CD子元素,而子元素CD又依次包含Title, Artist, Year, Country, Company, Price 六個(gè)子元素,它們的內(nèi)容都定義為文本(字符,數(shù)字,文本)。(注:具體的語法說明可以看上一章關(guān)于DTD的介紹)

第二步:建立XML文檔。

?xml version="1.0"?>
CATALOG>
CD>
TITLE>Empire Burlesque/TITLE>
ARTIST>Bob Dylan/ARTIST>
COUNTRY>USA/COUNTRY>
COMPANY>Columbia/COMPANY>
PRICE>10.90/PRICE>
YEAR>1985/YEAR>
/CD>
CD>
TITLE>Hide your heart/TITLE>
ARTIST>Bonnie Tylor/ARTIST>
COUNTRY>UK/COUNTRY>
COMPANY>CBS Records/COMPANY>
PRICE>9.90/PRICE>
YEAR>1988/YEAR>
/CD>
CD>
TITLE>Greatest Hits/TITLE>
ARTIST>Dolly Parton/ARTIST>
COUNTRY>USA/COUNTRY>
COMPANY>RCA/COMPANY>
PRICE>9.90/PRICE>
YEAR>1982/YEAR>
/CD>
CD>
TITLE>Still got the blues/TITLE>
ARTIST>Gary More/ARTIST>
COUNTRY>UK/COUNTRY>
COMPANY>Virgin redords/COMPANY>
PRICE>10.20/PRICE>
YEAR>1990/YEAR>
/CD>
CD>
TITLE>Eros/TITLE>
ARTIST>Eros Ramazzotti/ARTIST>
COUNTRY>EU/COUNTRY>
COMPANY>BMG/COMPANY>
PRICE>9.90/PRICE>
YEAR>1997/YEAR>
/CD>
/CATALOG>

上面代碼首先用?xml version="1.0"?>聲明語句表明這是一個(gè)XML文檔,它的格式遵守XML 1.0標(biāo)準(zhǔn)規(guī)范。然后是文檔內(nèi)容,結(jié)構(gòu)樹非常清晰:
CATALOG>
CD>
......
/CD>
CD>
......
/CD>

/CATALOG>
一共定義了5組數(shù)據(jù)。我們將上面的代碼存為cd.xml文件,以備調(diào)用。

第三步:建立相應(yīng)的HTML文件。
1.導(dǎo)入XML數(shù)據(jù)。
我們知道,目前流行的瀏覽器中,暫時(shí)只有微軟的IE5.0以上版本瀏覽器支持XML。IE是通過在HTML中的object物件來支持插入XML,并通過js的XMLDocument.load()方法來導(dǎo)入數(shù)據(jù)。我們看代碼: object WIDTH="0" HEIGHT="0"
CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
/object>

定義一個(gè)object,ID名為xmldso。然后在head區(qū)用js引入xml數(shù)據(jù):

script for="window" event="onload">
xmldso.XMLDocument.load("cd.xml");
/script>

2.捆綁數(shù)據(jù)。
然后將用SPAN>標(biāo)識(shí)來將XML數(shù)據(jù)綁定在表格中。其中ID,DATASRC,DTATFLD都是SPAN>的屬性。代碼如下:

table>
tr>td>Title:/td>td>SPAN ID="title" DATASRC=#xmldso DATAFLD="TITLE">/SPAN>/td>/tr>
tr>td>Artist:/td>td>SPAN ID="artist" DATASRC=#xmldso DATAFLD="ARTIST">/SPAN>/td>/tr>
tr>td>Year:/td>td>SPAN ID="year" DATASRC=#xmldso DATAFLD="YEAR">/SPAN>/td>/tr>
tr>td>Country:/td>td>SPAN ID="country" DATASRC=#xmldso DATAFLD="COUNTRY">/SPAN>/td>/tr>
tr>td>Company:/td>td>SPAN ID="company" DATASRC=#xmldso DATAFLD="COMPANY">/SPAN>/td>/tr>
tr>td>Price:/td>td>SPAN ID="price" DATASRC=#xmldso DATAFLD="PRICE">/SPAN>/td>/tr>
/table>

3.動(dòng)作操作。
最后,為數(shù)據(jù)提供瀏覽按鈕:
INPUT TYPE=button VALUE="上一張CD" ONCLICK="moveprevious()">
INPUT TYPE=button VALUE="下一張CD" ONCLICK="movenext()">

并利用js來完成兩個(gè)鼠標(biāo)點(diǎn)擊功能:movenext()和moveprevious()。在head區(qū)加入如下代碼:

script language="JavaScript">
function movenext()
{
if (xmldso.recordset.absoluteposition xmldso.recordset.recordcount)
{
xmldso.recordset.movenext();
}
}
function moveprevious()
{
if (xmldso.recordset.absoluteposition > 1)
{
xmldso.recordset.moveprevious();
}
}
/script>

好,我們先看HTML文件的全部原代碼:

html>
head>

script for="window" event="onload">
xmldso.XMLDocument.load("cd.xml");
/script>

script language="JavaScript">
function movenext()
{
if (xmldso.recordset.absoluteposition xmldso.recordset.recordcount)
{
xmldso.recordset.movenext();
}
}
function moveprevious()
{
if (xmldso.recordset.absoluteposition > 1)
{
xmldso.recordset.moveprevious();
}
}
/script>

TITLE>CD Navigate/TITLE>
/head>

body>
p>
object WIDTH="0" HEIGHT="0"
CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
/object>

table>
tr>td>Title:/td>td>SPAN ID="title" DATASRC=#xmldso DATAFLD="TITLE">/SPAN>/td>/tr>
tr>td>Artist:/td>td>SPAN ID="artist" DATASRC=#xmldso DATAFLD="ARTIST">/SPAN>/td>/tr>
tr>td>Year:/td>td>SPAN ID="year" DATASRC=#xmldso DATAFLD="YEAR">/SPAN>/td>/tr>
tr>td>Country:/td>td>SPAN ID="country" DATASRC=#xmldso DATAFLD="COUNTRY">/SPAN>/td>/tr>
tr>td>Company:/td>td>SPAN ID="company" DATASRC=#xmldso DATAFLD="COMPANY">/SPAN>/td>/tr>
tr>td>Price:/td>td>SPAN ID="price" DATASRC=#xmldso DATAFLD="PRICE">/SPAN>/td>/tr>
/table>

p>
INPUT TYPE=button VALUE="上一張CD" ONCLICK="moveprevious()">
INPUT TYPE=button VALUE="下一張CD" ONCLICK="movenext()">
/p>

/body>
/html>

將以上代碼存為cd.htm文件,于第二步的cd.xml文件放在一起。打開cd.htm文件,你就看見和上面實(shí)例一樣的效果了。

好,到今天為止,我們已經(jīng)學(xué)習(xí)了關(guān)于XML的不少知識(shí),我們來總結(jié)一下前面五個(gè)章節(jié),分別是XML快速入門,XML的概念原理,XML的術(shù)語,XML的語法和本章的實(shí)例解析。到這里,教程部分就結(jié)束了。在寫作過程中,阿捷盡最大努力將有關(guān)XML概念講得通俗易懂,盡量把自己的理解告訴給大家,但因?yàn)楸救藢W(xué)習(xí)XML時(shí)間也不長,對(duì)整個(gè)XML的技術(shù)把握還不夠系統(tǒng)和深入,所以難免有疏漏的地方,請(qǐng)大家指正和諒解,謝謝!

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《XML輕松學(xué)習(xí)手冊(cè)(5)XML實(shí)例解析》,本文關(guān)鍵詞  XML,輕松,學(xué)習(xí),手冊(cè),實(shí)例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《XML輕松學(xué)習(xí)手冊(cè)(5)XML實(shí)例解析》相關(guān)的同類信息!
  • 本頁收集關(guān)于XML輕松學(xué)習(xí)手冊(cè)(5)XML實(shí)例解析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    白朗县| 密山市| 岢岚县| 漳州市| 沁水县| 绥江县| 余江县| 四子王旗| 德昌县| 建瓯市| 城口县| 平陆县| 云安县| 外汇| 奉节县| 南开区| 方山县| 平顶山市| 新竹市| 多伦县| 石楼县| 棋牌| 格尔木市| 岑巩县| 麻城市| 登封市| 原平市| 科尔| 化州市| 安溪县| 准格尔旗| 资阳市| 安仁县| 寻甸| 安达市| 宣恩县| 张掖市| 碌曲县| 青河县| 莆田市| 玉环县|