C# System.Xml集合
在向大家詳細介紹C#文件中使用XML之前,首先讓大家了解下C# System.Xml集合,然后全面介紹C#文件中使用XML。
要在C#文件中使用XML,就必須引用一個特定的名稱空間。 .Net平臺中的一個名稱空間是作為一個程序組件的組織系統(tǒng)使用的,它對于解決命名沖突很重要,這一點很象 XML中的 名稱空間。這個基于 XML的菜單系統(tǒng)是用位于C# System.Xml集合中的System.Xml名稱空間創(chuàng)建的。.Net SDK 是這樣定義集合的:一個集合就是一個類型和資源的匯集信息,這些類和資源一起使用,形成一個功能的邏輯單元,即一個“邏輯”dll。
一個集合需要許多物理文件,如界面、類、資源文件等等,并且創(chuàng)建了關于文件如何一起工作的元數據。集合中還可能包含版本及安全信息。集合有許多好處,其中之一就是可以在ASP.NET應用程序中使用,而無須用regsvr32.exe向注冊文件中增加一個類識別號(CLSID)。這樣以來,集合的升級操作與將適當的集合復制到一個ASP.NET 應用程序的bin 目錄中一樣簡單?,F(xiàn)在我們就來仔細看一看那些建立在System.Xml名稱空間和集合中的類。
如果你以前使用過Microsoft的 MSXML3分解器,就會發(fā)現(xiàn)使用C# System.Xml集合中的類相當簡單。這里的菜單應用程序只使用了這些主要集合類中的一部分:XmlNode、 XmlDocument、 XmlNodeList、 XmlNamedNodeMap、 DocumentNavigator、 XmlTextReader和 XmlTextWriter。
XmlDocument、 XmlNodeList和XmlNode類用來創(chuàng)建傳遞給客戶端瀏覽器的菜單應用程序的結構。用XmlDocument類以一種安全線程(thread-safe)的方式從服務器上裝載和分解本地或遠程XML 文檔。建立在一個字符串中的 XML標記也可以被裝載或分解,從而在一個文檔中創(chuàng)建、移動節(jié)點或取消節(jié)點的移動。XmlNodeList 類可以使我們列舉一個節(jié)點的集合來訪問一個特定屬性,如名稱、值或名稱空間。最后,XmlNode類可以用來在XML文檔中向一個用于檢驗的XmlNode 對象分配一個特定節(jié)點。
XmlNamedNodeMap類用來列舉建立在一個元素類型選擇中的屬性集合。 DocumentNavigator、 XmlTextReader和XmlTextWriter類提供與XML一起使用所需要的額外功能。要特別說明的是,DocumentNavigator 可以用來執(zhí)行XPath查詢,它被包含在XSLT轉換中。XmlTextReader類提供對XML節(jié)點的只向前(forward-only)、無緩存的訪問,從而使XML節(jié)點對大型XML文檔也同樣生效。XmlTextWriter類提供一個快速、只向前的指針模型,實現(xiàn)將 XML 內容寫到一個流或一個文件中的目的。
在菜單應用程序中使用的XML 文檔相對來說是較小的,因此我們可以在服務器端使用文檔對象模式(DOM)來存取XML文檔中的不同節(jié)點。當分解大型 XML文檔時,就需要使用XmlTextReader 類所含有的只向前模型。
【編輯推薦】