XML輕鬆學習手冊(6)XML例項解析(轉)

amyz發表於2007-08-12
XML輕鬆學習手冊(6)XML例項解析(轉)[@more@]

  XML在不同領域有著廣泛的應用,比如在科技領域的MathML,無線通訊應用的WML,在網路圖象方面的SVG等等,我們這裡側重討論XML在web上的應用。XML在web上應用主要是利用其強大的資料操作能力。一般用XML配合javascript和asp等伺服器端程式,可以實現網路上幾乎所有的應用需求。

  考慮講解方便,我們在下面介紹一個簡單的例項,不包含伺服器端程式。目的在於讓您對XML的資料操作能力有一個感性的認識。

  好,我們首先看例項的效果。(請用IE5.0以上版本瀏覽器開啟)

  這是一個簡單的CD唱片資料檢索功能。你透過點選"上一張","下一張"可以看到單張CD的有關資訊。這樣的效果我們原來用兩種方法可以實現:

  1.利用DHTML,將資料隱藏在不同的層中,透過滑鼠事件依次顯示;

  2.利用後臺程式(如ASP,CGI,PHP,JSP等),呼叫伺服器端的資料。

  但是在這個例項中,我們開啟頁面原始碼可以看到,其中沒有用DHTML的DIV,也沒有表單的action,它完全是用XML來實現的。下面我們來分析它的製作過程:

  第一步:定義新標識。

  根據實際的CD資料,首先新建一個名為的標識;其次建立它相關的資料標識,分別是:CD名稱,演唱者<artist>,出版年代<year>,國家<country>,發行公司<company>和價格<price>;最後還要建立一個名為目錄<catalog>的標識。為什麼要再建立一個<catalog>標識呢?因為在XML文件中規定,必須且只能有一個根元素(標識),我們有多個CD資料,這些資料是並列的關係,所以需要為這些並列的元素建立一個根元素。</catalog></catalog></price></company></country></year></artist>

  以上元素的定義和關係都完全符合XML標準,不需要特別的DTD檔案來定義,所以可以省略DTD定義。如果我們想使用DTD來定義,以上過程可以表示為:

  

  

  

  

  

  

  

  

  這段程式碼表示:元素CATALOG包含多個CD子元素,而子元素CD又依次包含Title, Artist, Year, Country, Company, Price 六個子元素,它們的內容都定義為文字(字元,數字,文字)。(注:具體的語法說明可以看上一章關於DTD的介紹)

  第二步:建立XML文件。

  

  

  

  

Empire Burlesque

  Bob Dylan

  USA

  Columbia

  10.90

  1985

  

  

  

Hide your heart

  Bonnie Tylor

  UK

  CBS Records

  9.90

  1988

  

  

  

Greatest Hits

  Dolly Parton

  USA

  RCA

  9.90

  1982

  

  

  

Still got the blues

  Gary More

  UK

  Virgin redords

  10.20

  1990

  

  

  

Eros

  Eros Ramazzotti

  EU

  BMG

  9.90

  1997

  

  

  上面程式碼首先用宣告語句表明這是一個XML文件,它的格式遵守XML 1.0標準規範。然後是文件內容,結構樹非常清晰:

  

  

  ......

  

  

  ......

  

  

  一共定義了5組資料。我們將上面的程式碼存為cd.xml檔案,以備呼叫。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-950355/,如需轉載,請註明出處,否則將追究法律責任。

相關文章