早就知道了XML,惋惜1直沒有系統的學習過,這次接觸Java文件傳輸,又用到了XML,因此就來學習學習吧。
對XML最好的描寫
XML是獨立于軟件和硬件的信息傳輸工具。XML是W3C的推薦標準。XML無所不在,當我們看到XML標準突飛猛
進的開發進度,和大批的軟件開發商采取這個標準的日新月異的速度時,真的是不由感嘆這真是使人嘆為觀止。
目前,XML在Web中起到的作用不會亞于1直作為Web基石的HTML。XML是各種利用程序之間進行數據傳輸的
最經常使用的工具,并且在信息存儲和描寫領域變得愈來愈流行。
XML(可擴大標記語言),標準通用標記語言的子集,是1種用于標記電子文件使其具有結構性的標記語言。在電
子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包括各種的信息比如文章等。
它可以用來標記數據、定義數據類型,是1種允許用戶對自己的標記語言進行定義的源語言。它非常合適萬維網傳
輸,提供統1的方法來描寫和交換獨立于利用程序或供應商的結構化數據。是Internet環境中跨平臺的、依賴于內容的
技術,也是現今處理散布式結構信息的有效工具。早在1998年,W3C就發布了XML1.0規范,使用它來簡化Internet的
文檔信息傳輸。
(1)XML指可擴大標記語言(EXtensible Markup Language)。
(2)XML是1種標記語言,很類似HTML(超文本標記語言)。
(3)XML的設計主旨是傳輸數據,而非顯示數據。
(4)XML標簽沒有被預定義。您需要自行定義標簽。
(5)XML被設計為具有自我描寫性。(6)XML是 W3C 的推薦標準。
(1)XML和HTML為不同的目的而設計。
(2)XML被設計為傳輸和存儲數據,其焦點是數據的內容。
(3)HTML被設計用來顯示數據,其焦點是數據的外觀。
(4)HTML旨在顯示信息,而XML旨在傳輸信息。
(5)XML不是對HTML的替換,XML是對HTML的補充。
(6)XML不會替換HTML,理解這1點很重要。在大多數web利用程序中,XML用于傳輸數據,而 HTML用于格式
化并顯示數據。
(7)XML被設計用來傳輸和存儲數據。而HTML被設計用來顯示數據。
(1)解決了數據傳輸不規范的問題。
(2)可以非常好的描寫樹形結構的事物。(3)可以用作配置文件。
XML是不作為的?;蛟S這有點難以理解,但是XML不會做任何事情。XML被設計用來結構化、存儲和傳輸息。
我們在這里舉1個在記事本書寫的簡單例子來講明1下。
下面是1個書籍列表,存儲為XML:
上面的這條便簽具有自我描寫性。它具有標題和留言,同時包括了發送者和接受者的信息。但是,這個XML文
檔依然沒有做任何事情。它僅僅是包裝在XML標簽中的純潔的信息。我們需要編寫軟件或程序,才能傳送、接收和
顯示出這個文檔。
XML沒甚么特別的。它僅僅是純文本而已。有能力處理純文本的軟件都可以處理XML。不過,能夠讀懂XML的應
用程序可以有針對性地處理XML的標簽。標簽的功能性意義依賴于利用程序的特性。這里的內容我們會在以后的內容
中逐步體會到XML標簽的作用。
上例中的標簽沒有在任何XML標準中定義過(比如<bookname>和<price>等等)。這些標簽是由文檔的創作者發明
的。這是由于XML沒有預定義的標簽。XML允許創作者定義自己的標簽和自己的文檔結構。
在HTML中使用的標簽(和HTML的結構)是預定義的。HTML文檔只使用在HTML標準中定義過的標簽(比如
<p>,<h1>等等)。
我們在上面的書籍實例中可以看出XML文檔構成了1種樹結構,它從“根部”開始,然后擴大到“枝葉”。
1個 XML 文檔實例
XML使用簡單的具有自我描寫性的語法:
下1行描寫文檔的根元素(像在說:“本文檔是1個便簽”):<note>;
接下來4行描寫根的4個子元素(to、from、heading和body):<to>George</to>、<from>John</from>、
<heading>Reminder</heading>和<body>Don't forget the meeting!</body>;
最后1行定義根元素的結尾:</note>。
從本例可以假想,該XML文檔包括了John給George的1張便簽。
XML具有出色的自我描寫性,你同意嗎?
XML文檔構成1種樹結構
XML文檔必須包括根元素。該元素是所有其他元素的父元素。
XML文檔中的元素構成了1棵文檔樹。這棵樹從根部開始,并擴大到樹的最底端。
所有元素都可具有子元素:
父、子和同胞等術語用于描寫元素之間的關系。父元素具有子元素。相同層級上的子元素成為同胞(兄弟或姐
妹)。所有元素都可具有文本內容和屬性(類似HTML中)。
實例
上圖表示下面的XML中的1本書:
例子中的根元素是<bookstore>。文檔中的所有<book>元素都被包括在<bookstore>中。<book>元素有 4 個子元
素:<title>、< author>、<year>、<price>。
XML經常使用于簡化數據的存儲和同享。
如果你需要在HTML文檔中顯示動態數據,那末每當數據改變時將花費大量的時間來編輯HTML。通過XML,數
據能夠存儲在獨立的XML文件中。這樣你就能夠專注于使用HTM 進行布局和顯示,并確保修改底層數據不再需要對
HTML進行任何的改變。通過使用幾行JavaScript,你就能夠讀取1個外部XML文件,然后更新HTML中的數據內容。
在真實的世界中,計算機系統和數據使用不兼容的格式來存儲數據。XML數據以純文本格式進行存儲,因此提供
了1種獨立于軟件和硬件的數據存儲方法。這讓創建不同利用程序可以同享的數據變得更加容易。
通過XML,可以在不兼容的系統之間輕松地交換數據。對開發人員來講,其中1項最費時的挑戰1直是在因特網
上的不兼容系統之間交換數據。由于可以通過各種不兼容的利用程序來讀取數據,以XML交換數據下降了這類復雜
性。
升級到新的系統(硬件或軟件平臺),總是非常費時的。必須轉換大量的數據,不兼容的數據常常會丟失。XML數
據以文本格式存儲。這使得 XML 在不損失數據的情況下,更容易擴大或升級到新的操作系統、新利用程序或新的瀏
覽器。
由于XML獨立于硬件、軟件和利用程序,XML使您的數據更可用,也更有用。不同的利用程序都能夠訪問您的
數據,不單單在HTML頁中,也能夠從XML數據源中進行訪問。通過XML,您的數據可供各種瀏覽裝備使用(手持的計
算機、語音裝備、新聞瀏覽器等),還可以供盲人或其他殘障人士使用。
很多新的Internet語言是通過XML創建的,其中的例子包括:
a)XHTML - 最新的HTML版本
b)WSDL - 用于描寫可用的web service
c)WAP 和 WML - 用于手持裝備的標記語言
d)RSS - 用于RSS feed的語言
e)RDF 和 OWL - 用于描寫資源和本體
f)SMIL - 用于描寫針針對web的多媒體