原貼在此處,只摘入了一些有用的部分。
主 題: |
|
使用XML的五種場合[精華] |
作 者: |
|
ChinaOK (授人以魚,不如授人以漁) |
在很多研討會和培訓班上我遇到過許多人,他們還不明白為什麼要使用XML也不知道如何在他們的應用中使用XML。一些來自諸如Gartner公司的報告建議說,商業公司不能再做局外人了,不能對XML置之不理。如果你還不清楚XML到底有什麼好處的話,你並不是唯一的人。
我決定把與人們和媒體關於XML話題的交談整理成文,列出XML在應用中的五個最令人喜愛的用法。儘管這些並不能包含XML的所有潛在應用,至少是些最重要的領域。
1、資料交換
用XML在應用程式和公司之間作資料交換已不是什麼秘密了,毫無疑問應被列為第一位。那麼為什麼XML在這個領域裡的地位這麼重要呢?原因就是XML使用元素和屬性來描述資料。在資料傳送過程中,XML始終保留了諸如父/子關係這樣的資料結構。幾個應用程式可以共用和解析同一個XML檔案,不必使用傳統的字串解析或拆解過程。
相反,普通檔案不對每個資料區段做描述(除了在標頭檔中),也不保留資料關係結構。使用XML做資料交換可以使應用程式更具有彈性,因為可以用位置(與普通檔案一樣)或用元素名(從資料庫)來存取XML資料。
2、Web服務
Web服務是最令人激動的革命之一,它讓使用不同系統和不同程式設計語言的人們能夠相互交流和分享資料。其基礎在於Web伺服器用XML在系統之間交換資料。交換資料通常用XML標記,能使協議取得規範一致,比如在簡單對象處理協議(Simple Object Access Protocol, SOAP)平台上。
SOAP可以在用不同程式設計語言構造的對象之間傳遞訊息。這意味著一個C#對象能夠與一個Java對象進行通訊。這種通訊甚至可以發生在運行於不同作業系統上的對象之間。DCOM, CORBA或Java RMI只能在緊密耦合的對象之間傳遞訊息,SOAP則可在松耦合對象之間傳遞訊息。
3、內容管理
XML只用元素和屬性來描述資料,而不提供資料的顯示方法。這樣,XML就提供了一個優秀的方法來標記獨立於平台和語言的內容。
使用象XSLT這樣的語言能夠輕易地將XML檔案轉換成各種格式檔案,比如HTML, WML, PDF, flat file, EDI, 等等。XML具有的能夠運行於不同系統平台之間和轉換成不同格式目標檔案的能力使得它成為內容管理應用系統中的優秀選擇。
4、Web整合
現在有越來越多的裝置也支援XML了。使得Web開發商可以在個人電子助理和瀏覽器之間用XML來傳遞資料。
為什麼將XML文本直接送進這樣的裝置去呢?這樣作的目的是讓使用者更多地自己掌握資料顯示方式,更能體驗到實踐的快樂。常規的客戶/服務(C/S)方式為了獲得資料排序或更換顯示格式,必須向伺服器發出申請;而XML則可以直接處理資料,不必經過向伺服器申請查詢-返回結果這樣的雙向“旅程”,同時在裝置也不需要配製資料庫。
甚至還可以對裝置上的XML檔案進行修改並將結果返回給伺服器。想像一下,一台具有互連網功能並支援XML的電冰箱將會給市場帶來多麼大的衝擊吧。你從此不必早起去取牛奶了!
5、配製
許多應用都將配製資料存放區在各種檔案裡,比如.INI檔案。雖然這樣的檔案格式已經使用多年並一直很好用,但是XML還是以更為優秀的方式為應用程式標記配製資料。使用.NET裡的類,如XmlDocument和XmlTextReader,將配製資料標記為XML格式,能使其更具可讀性,並能方便地整合到應用系統中去。使用XML配製檔案的應用程式能夠方便地處理所需資料,不用象其他應用那樣要經過重新編譯才能修改和維護應用系統。
如前所述,這裡提到的五種使用XML的途徑不包括全部場合。我希望這些可以有助於你思考如何
補充:
==========================================================
xml的應用是什嗎?xml到底能做什麼,我把自己的經驗和體會整理了一下。
首先說,xml的技術有兩項的很顯著的特點。
1,資料和現實的分離。
2,資料的自描述性。
下面我就從這兩個方面,結合自己的經驗和叢書中瞭解的知識,簡單的談一下。
第一:資料和現實的分離。
比如說你手頭上有一篇的資料(我們這裡先假定是文字的資料,因為如果涉及到圖,影像等範圍就太廣了,也不是我只能力所及),是xml的資料的格式,好了,如果你的客戶想通過互連網看看你的資料。你就可以使用一個aaa.xsl把你的xml的資料格式化為HTML的格式,同時這裡面有個補充一點,因為你可以控制你要顯示的內容,你可以過濾掉對於客戶不能看到的資訊。但是這裡面你並沒有動原來的資料。
如果你的老闆想把資料列印出來,作為報表向上級彙報,還是用原來的資料,再寫一個bbb.xsl,把xml的資料輸出為一個漂亮的報表的形式。ok了。
如果你以前的資料是txt的格式,你就必須從新的要做兩種的格式,
一個html的,一個報表的。你的工作最多時copy,copy的
2,資料的自描述性。
比如說我的個人資訊。
對於資料庫來說,可能建立一個users的表。建立不同的欄位。
資料取得可以是
rs("name")="jiangtianpeng"
rs("Emial")="wfxian@263.net"
rs("Id")="dadapeng"
但是沒有了rs或者對於外部來說又如何的區分id和name的區別。
dadapeng是id?還是name?
jiangtianpeng是name?還是id?
ok
用xml描述一下個人資訊
<person>
<name>jiangtianpeng</name>
<id>dadapeng</id>
<natio>china</nation>
....
<email>wfxian@263.net</email>
</person>
是不是一目瞭然。
實際上面的問題就涉及到了不同系統之間的xml的交換。xml是不同系統之間的橋樑。
我談一下我工作的xml經驗
我現在的工作是一個中文,英文,俄文三種語言的網站,
比如我們通過com組件的得到一個使用者的資訊
可能是
<user id='feiddd' name_CN="王" name_EN="ddddf"
name_RU='這裡是俄文' 。。。。等等的資訊 />
在中文上就寫一個顯示中文的xsl,
在英文上就寫一個顯示英文資訊的xsl。
如果不用這種技術,將會很麻煩的。
--------
相關的介紹xml主題:
http://search.csdn.net/Expert/topic/1825/1825086.xml?temp=.9589044