1.什麼是 XML?
首先,我想各位應該都已經大概知道什麼是XML了。如果,你對什麼是XML還沒有一個概念的話,你可以看一些相關的材料,我就不多說了。
2.為什麼要用XML?
首先,寫的程序需要傳送很多的數據結構,比如表格,目錄樹等等。要在以往,我想自己會去定義一個數據結構。這是相當麻煩的一件事情,而且當這個結構需要不斷更新,有很大的靈活性時,那就更讓人頭疼了,更別說通用性和跨平台了。這時候,XML對樹形結構數據的強大表達能力就顯示出來了。比如一個表格數據。
11
12
21
22
<TABLE>
<TR>
<TD> 11</TD>
<TD>12</TD>
</TR>
<TR>
<TD> 21</TD>
<TD>22</TD>
</TR>
</TABLE>
以上的描述,很簡單明了,通用性和跨平台是很顯見的。當然,代價也是有的,那就是用於表達信息的數據變大了。這就要求你在性能和可擴展性之間進行權衡了再次,XML 現在已經開始流行起來了,其前身(說類似更合適)HTML就是一個明證,更不用說微軟的.NET計劃就是架構在XML上面的。
最後,因為XML的流行,已經有了越來越多的開發工具(SDK),比如XML Parser就有很多種。利用這些工具,我們就可以更快的進行開發,從而減少不必要的麻煩----比如自己定義一套規范,還要開發相關的操作工具等等,麻煩,而且不易與外界進行交流。
3.使用什麼開發工具
這裡,我們面向的是程序員,猶指VC++的程序員。我們的選擇很多,不過選擇Microsoft 的XML Parser SDK應該是不錯的,至少文檔很詳盡(在這一點上,微軟做得一直不錯)。當然還有很多別的選擇,比如Apache.org上的eXcel。更詳細的信息,請看www.ibm.com/xml。
基本概念
XML的編程模式
前面我們說過,XML對樹的表達能力是很強大的,我們完全可以把一個XML文檔用一個樹來表達,對於文檔的操作就是對樹的操作,這就是DOM(文檔對象模型)。然而,DOM對XML文檔的處理有許多的毛病,比如速度慢等,於是有了另一種模型SAX.
下面,我們分別詳細的對這兩種模型進行說明。
DOM模型
DOM模型需要對整個XML文檔進行掃描,然後解析生成一個對象樹,XML文檔中的所有標簽和屬性都是用對象來表示,而不是一個孤立的文本。因為是對象,所以有一個上下文,有一個包含關系。
基本是這樣的
Doc
Element
Note