1、XML 是什麼?
XML僅僅是一種數據存放格式,這種格式是一種文本(雖然XML規范中也提供了存放二進制數據的解決方案)。
事實上有很多文本格式都可以用來存放數據,例如大家所熟悉的.ini文件。很多朋友在初學C語言或者Basic語言的時候,有時可能需要將源數據或者最終結果存放在一個文本文件裡面,存放的格式當然由編寫程序的人自己定了,那麼在編寫這個程序的過程中,編程者就自創了一種自定義的數據格式。
XML格式本身也是一種存放數據的格式,和您當時自己定義的這種數據文件本質上並無什麼區別,但唯一的(也是最重要的)區別就是:XML格式是被大家所公認而且廣泛支持的,而您自己做的那個數據文件就只有您編寫的那一兩個程序支持。
2、XML 做什麼?
XML 僅僅用來存放數據,除此之外它什麼也不做。
雖然 XML 什麼也不做,但是由於它是一種統一的格式,無論在Unix平台下,還是在Macintosh平台或者Windows平台下,都支持這種格式。
如果說Java是一種跨平台的程序語言,那麼XML就是一種跨平台的數據格式。也正是因為這個原因,這兩個跨平台的東西才結合得這麼緊密,幾年前我看到的XML應用絕大多數就是用Java技術實現的。但是其余很多語言(例如C#、Perl、Python)對XML也支持得很好。
統一必然帶來極大的好處,那就是:有許許多多技術方案支持它、擴展它,例如:DOM、XSLT、SVG、VRML、SOAP、Cocoon、XSP等等。
3、XML 不做什麼
XML 不負責運行什麼程序,也不負責數據的表現形式。數據的表現形式可以通過XSL或者CSS實現,運行程序自然會有ASP、Java之類的程序語言去做,而 XML ,除了存放數據之外,別的事情一概不管。
4、XML 與 ASP 的關系
ASP是XML的用戶,XML為ASP以及其他技術方案提供一種數據存放格式,供包括ASP在內的其他的技術方案去調用。他們之間的關系就是這麼單純。
5、"無刷新"是ASP的功勞嗎?
"無刷新"不是ASP的功勞。
ASP是控制後台的,而無刷新是客戶端技術要做的事情。通常情況下這件事會由JavaScript去做,當然如果你非要用VBScript去做也沒關系,但是代價就是像Mozilla、Firefox這樣的浏覽器將不支持。
6、XML與數據庫的關系
XML可以單獨作為一種小型數據庫,也可以作為大中型數據庫(例如SQL Server、Oracle、MySQL、DB2)的Cache。
當數據量很小的時候,數據庫引擎讀寫數據的效率肯定優於通過文本文件讀寫數據的效率。但是我們可以設想一下當數據庫裡面的數據量很大的時候,要在這樣的一個數據庫裡面讀寫一條記錄所需要消耗的時間,和讀寫一個體積不是很大的XML文件,前者需要消耗的服務器資源要大得多。所以,我們可以把XML作為一個輕量級的小型數據庫,來緩存數據。
7、XML可以取代數據庫嗎
答案當然是不可以。反之,數據庫也不能取代XML。