濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫(kù) > XML輕松學(xué)習(xí)手冊(cè)(五):XML語法

XML輕松學(xué)習(xí)手冊(cè)(五):XML語法

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

第五章: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>,國(guó)家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í)間也不長(zhǎng),對(duì)整個(gè)XML的技術(shù)把握還不夠系統(tǒng)和深入,所以難免有疏漏的地方,請(qǐng)大家指正和諒解,謝謝!

在教程最后,附帶一章"XML的相關(guān)資源",提供了許多非常好的學(xué)習(xí)網(wǎng)站和資源連接,推薦您保存下來。請(qǐng)繼續(xù)瀏覽:XML的相關(guān)資源。
(出處:eNet學(xué)院)

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《XML輕松學(xué)習(xí)手冊(cè)(五):XML語法》,本文關(guān)鍵詞  XML,輕松,學(xué)習(xí),手冊(cè),五,語法,;如發(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è)(五):XML語法》相關(guān)的同類信息!
  • 本頁收集關(guān)于XML輕松學(xué)習(xí)手冊(cè)(五):XML語法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    金山区| 泽州县| 五寨县| 莱州市| 兰州市| 内江市| 兖州市| 扶余县| 壤塘县| 嵊州市| 甘肃省| 卢湾区| 沙洋县| 宿迁市| 自贡市| 库伦旗| 灵璧县| 望谟县| 彭泽县| 明溪县| 东乡县| 泉州市| 玉环县| 汕头市| 陵川县| 石河子市| 科技| 宁强县| 陇南市| 广水市| 万载县| 疏勒县| 宜君县| 大石桥市| 宁陕县| 金门县| 陇西县| 蛟河市| 栖霞市| 大邑县| 冷水江市|