XML文件的好處及適用場合

一.  XML文件簡單介紹

XMLExtensible Markup Language,可擴展標記語言),隨着XML的廣泛應用,XML解析技術作爲XML文檔處理過程中關鍵的一環,對應用系統的整體性能有着重要影響。

二.XML文件的優點:

1XML文檔的內容和結構完全分離

這個特性爲XML的應用帶來了很大的好處。基於這樣的特點,企業系統可以輕鬆地實現內容管理和流程管理的徹底分離,例如系統架構師可以只關注流程運轉中各環節的接口定義,而各部門則可以專注在內容發佈和維護之上。

舉例來說,微軟公司的產品Biztalk正是利用了XML內容和結構分離的特點來實現內容和流程定義的分離。另外一個廣泛的應用是XSL技術,由於XML文件的內容和結構分離,XSL纔可以在不影響內容的情況下改變XML文件結構。

2)互操作性強

大多數純文本的文件格式都具有這個優點。純文本文件可以方便地穿越防火牆,在不同操作系統上的不同系統之間通信。而作爲純文本文件格式,XML同樣具有這個優點。

3)規範統一

XML具有統一的標準語法,任何系統和產品所支持的XML文檔,都具有統一的格式和語法。這樣就使得XML具有了跨平臺跨系統的特性。作爲對比,同樣作爲文本語言,JavaScript的標準就遠沒有XML這樣統一,以至於經常出現同一靜態頁面在不同的瀏覽器中產生不同的結果,而腳本程序員往往需要在程序的入口處費力地判斷客戶端所支持的腳本版本。

4)支持多種編碼

相對於普通文本文檔而言,XML文檔本身包含了所使用編碼的記錄,這方便了多語言系統對數據的處理。

5)可擴展性

XML是一種可擴展的語言,可以根據XML的基本語法來進一步限定使用範圍和文檔格式,從而定義一種新的語言。例如:MathML(數學標記語言)、CML(化學標記語言)和TecML(技術數據標記語言),每種語言都用於其特定的環境。

三.XML文件的適用場合:

1、數據交換

XML在應用程序和公司之間作數據交換已不是什麼祕密了,毫無疑問應被列爲第一位。那麼爲什麼XML在這個領域裏的地位這麼重要呢?原因就是 XML使用元素和屬性來描述數據。在數據傳送過程中,XML始終保留了諸如父/子關係這樣的數據結構。幾個應用程序可以共享和解析同一個XML文件,不必使用傳統的字符串解析或拆解過程。相反,普通文件不對每個數據段做描述(除了在頭文件中),也不保留數據關係結構。使用XML做數據交換可以使應用程序更具有彈性,因爲可以用位置(與普通文件一樣)或用元素名(從數據庫)來存取XML數據。

2Web Serviceweb服務)

Web服務是最令人激動的革命之一,它讓使用不同系統和不同編程語言的人們能夠相互交流和分享數據。其基礎在於Web服務器用XML在系統之間交換數據。交換數據通常用XML標記,能使協議取得規範一致,比如在簡單對象處理協議(Simple Object Access Protocol,SOAP)平臺上。SOAP可以在用不同編程語言構造的對象之間傳遞消息。這意味着一個C#對象能夠與一個Java對象進行通訊。這種通訊甚至可以發生在運行於不同操作系統上的對象之間。DCOM, CORBAJava RMI只能在緊密耦合的對象之間傳遞消息,SOAP則可在鬆耦合對象之間傳遞消息。

3、內容管理

XML只用元素和屬性來描述數據,而不提供數據的顯示方法。這樣,XML就提供了一個優秀的方法來標記獨立於平臺和語言的內容。使用象XSLT 這樣的語言能夠輕易地將XML文件轉換成各種格式文件,比如HTML, WML, PDF, flat file, EDI, 等等。XML具有的能夠運行於不同系統平臺之間和轉換成不同格式目標文件的能力使得它成爲內容管理應用系統中的優秀選擇。

4Web集成

現在有越來越多的設備也支持XML了。使得Web開發商可以在個人電子助理和瀏覽器之間用XML來傳遞數據。爲什麼將XML文本直接送進這樣的設備去呢?這樣作的目的是讓用戶更多地自己掌握數據顯示方式,更能體驗到實踐的快樂。常規的客戶/服務(C/S)方式爲了獲得數據排序或更換顯示格式,必須向服務器發出申請;XML則可以直接處理數據,不必經過向服務器申請查詢-返回結果這樣的雙向旅程,同時在設備也不需要配置數據庫。甚至還可以對設備上的XML文件進行修改並將結果返回給服務器。

5、配置文件 

許多應用都將配置數據存儲在各種文件裏,比如.INI文件。雖然這樣的文件格式已經使用多年並一直很好用,但是XML還是以更爲優秀的方式爲應用程序標記配置數據。使用.NET裏的類,如XmlDocumentXmlTextReader,將配置數據標記爲XML格式,能使其更具可讀性,並能方便地集成到應用系統中去。使用XML配置文件的應用程序能夠方便地處理所需數據,不用象其他應用那樣要經過重新編譯才能修改和維護應用系統。

參考文章:http://mybygao.javaeye.com/blog/301606

         http://javaear.javaeye.com/blog/98477

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章