了解 XML實現通用的數據訪問_Xml教程
推薦:XML卷之實戰錦囊(1)——動態排序排序功能讓我們頁面上的數據顯的更人性化,是我們在網站上見過的很普遍的一個功能效果了。以往的自動排序都是用大量的腳本代碼來完成的,對一般的愛好者來說這是件困難的事情。然而用XML來處理
了解可擴展標記語言 (XML) 如何幫助我們實現通用的數據訪問。XML 是一種基于 Unicode 的純文本元語言,即一種用于定義標記語言的語言。它不依賴于任何編程語言、操作系統或軟件供應商。XML 可以提供對各種數據處理、構建、轉換和查詢技術的訪問。(本文包含一些指向英文站點的鏈接。)
簡介
最初設想的可擴展標記語言 (XML) 用于為 Web 定義新文檔的格式。XML 由標準通用標記語言 (SGML) 衍生而來,可以認為它是一種元語言,即一種定義標記語言的語言。SGML 和 XML 都是基于文本的格式,提供了一種使用標記(文字由‘<’和‘>’括起)描述文檔結構的機制。Web 開發人員可能會注意到,XML 與 HTML 有一些相似,這是因為這二者都是由 SGML 衍生而來的。
隨著 XML 的應用日益普及,現在人們已普遍認同,XML 不僅有助于為 Web 描述新文檔的格式,而且也適用于描述結構化的數據。所謂結構化的數據包括那些電子表格、程序配置文件和網絡協議中通常所包含的信息。
XML 要優于早期的數據格式,因為 XML 可以很輕松地表示表格式的數據(如數據庫中的關系數據或電子表格)和半結構化的數據(如 Web 頁面或業務文檔)。早已存在且應用廣泛的一些格式(如逗號分隔值 [CSV] 文件)可以有效地處理表格式數據,卻不能很好地處理半結構化數據,而 RTF 等則只能專門用于半結構化的文本文檔。因此,XML 作為信息交換的通用語言被廣泛接受。
無處不在的 XML
除了可以表示結構化和半結構化的數據之外,XML 還有許多其他特性,使其成為一種被廣泛采用的數據表示格式。XML 是可擴展的,與平臺無關的,并且由于其完全采用 Unicode 而支持國際化。XML 是基于文本的格式,因此,用戶可以根據需要使用標準的文本編輯工具讀取和編輯 XML 文檔。
XML 的可擴展性表現在多個方面。首先,與 HTML 不同,XML 沒有固定的詞匯表。相反,用戶可以使用 XML 定義特定的應用程序或行業專用的詞匯表。其次,與使用其他格式的應用程序相比,處理或使用 XML 格式的應用程序對 XML 結構的更改更具“抵抗力”,只要這些更改是附加的。例如,如果某個應用程序主要處理具有
customer-id
屬性的
<Customer>
元素,如果再向
<Customer>
元素添加一個
last-purchase-date
屬性,該應用程序通常也不會被破壞。這樣的適應性在其他的數據格式中很少見,這也成為使用 XML 的一個顯著優勢。
XML 不依賴于任何編程語言、操作系統或軟件供應商。事實上,使用各種編程語言都可以很容易地生成或使用 XML。而平臺獨立性使得 XML 有助于在不同編程平臺和操作系統之間實現互操作。
很多人已經意識到將數據發布為 XML 有很多優勢,由此也推動了 XML 數據源的大量應用。人們正在或者已經將業務文檔、數據庫和業務間的通訊等信息源轉換為使用 XML 作為表示格式。Microsoft 的產品,如 Microsoft Office®、Microsoft SQL Server™ 和 Microsoft .NET Framework,都能使最終用戶和開發人員將文檔、網絡信息和其他數據生成為 XML 或作為 XML 使用。
XML 1.0 語法
如前所述,W3C XML 1.0 推薦描述了一種基于文本的格式,使用類似于 HTML 的語法來描述結構化和半結構化的數據。
XML 和 HTML 的對比
HTML 和 XML 文檔都由元素組成,每個元素都包含一個“起始標記”(例如<order>)、一個“結束標記”(例如</order>),以及兩個標記之間的信息(指元素的內容)。元素可以使用屬性進行注解,屬性包含了關于元素及其內容的元數據。
但是,HTML 與 XML 之間存在一個顯著的差別,即 XML 區分大小寫,而 HTML 不區分大小寫。也就是說,在 XML 中,起始標記<Table>和<table>
是不同的,而在 HTML 中則是相同的。HTML 與 XML 之間的另一個差別是,XML 引入了“良好結構”的概念。XML 的“良好結構”規則通過強制規定一些規則來消除在處理 HTML 等標記語言時存在的一些固有的模糊性,如它強制規定了所有屬性都必須用括號括起,所有元素都必須具有一對起始標記和結束標記,或者明確指出其為空元素。有關良好結構的簡短說明,請參閱“XML FAQ”的 D.2 部分。
HTML 與 XML 之間最顯著的區別在于,HTML 已預先定義了元素和屬性,元素和屬性的行為已完全指定,而 XML 則不是這樣。相反,文檔作者可以創建自己的特定于其應用程序或業務需求的 XML 詞匯表。目前已有的 XML 詞匯表適用于許多行業和應用程序,從財務信息報告 (XBRL)、金融服務 (FpML) 到 Web 文檔 (XHTML)、網絡協議 (SOAP)。由于不必關注那些用來指定如何呈現或顯示 XML 文檔的預定義元素和屬性,因此文檔作者在創建文檔時就可以將重點放在與其特定問題領域相關的語義信息上。XML 詞匯表帶來了內容與形式的分離,使得信息和內容可以得到更大規模的重復利用。
XML 文檔剖析
以下示例是一個表示音像商店客戶訂單的 XML 文檔。請注意,此文檔既表示了嚴謹的結構化數據(用來描述光盤信息),也表示了半結構化數據(用來說明有關特定顧客的特殊說明和注釋),而其表示方式非常簡單。
以下為引用的內容: <?XML version="1.0" encoding="iso-8859-1" ?> <order id="ord123456"> <!-- 要多走幾英里找到顧客 --> |
文檔的開頭是可選的 XML 聲明,用以指定所使用的 XML 版本,然后是文檔所使用的字符編碼。接下來是 XML 樣式表處理指令,用來綁定樣式表。樣式表中包含的 XML 文檔的格式化指令可以用更生動的方式在用戶應用程序(例如 Web 瀏覽器)中呈現 XML 文檔。處理指令通常用來在 XML 文檔中嵌入特定于應用程序的信息。例如,處理以上文檔的大多數應用程序都會忽略 XML 樣式表處理指令,而用于顯示 XML 文檔的應用程序(例如 Web 瀏覽器)則會使用處理指令中的信息,以確定將包含了用于顯示文檔的特殊指令的樣式表定位在哪里。
Unicode 尖括號 = 互操作
XML 1.0 語法是基于文本的,而且可以很容易地進行分析,這使得 XML 在需要跨平臺進行交互操作時,成為首選的數據交換格式。在多種常用的操作系統中都可以使用 XML 分析器,因此,不同平臺上完全不同的部件在需要共享信息時,可以很容易地進行標準化,采用 XML 作為交換格式。
以 Unicode 為基礎的 XML 也適用于在全球網絡中共享信息,例如在 Web 上。
信息集 (Infoset) 和 XML 系列技術
盡管使用 XML 作為數據表示格式可以帶來一個極大的優勢:通過使用基于文本的 XML 語法獲得平臺互操作性和可擴展性,但這只是 XML 為應用程序開發人員帶來的益處之一。使用 XML 的另一個主要好處在于,用戶可以訪問各種數據處理、構建、轉換和查詢技術。
分享:利用XML開發留言板簡單的例子XML是一種基于文本格式的元標記語言,它注重對數據結構和數據意義的描述,實現了數據內容和顯示樣式的分離(xml xsl),而且是與平臺無關的。 由于XML注重數據內容的描述,因而,對于數據的檢
- 相關鏈接:
- 教程說明:
Xml教程-了解 XML實現通用的數據訪問。