淺析LINQ to XML入門
LINQ to XML有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ to XML入門,包括介紹通過XDocument或XElement的靜態(tài)方法Load載入xml文檔等方面。
一、LINQ to XML入門
LINQ to XML 是一種啟用了 LINQ 的內(nèi)存 XML 編程接口,使用它,可以在 .NET Framework 編程語言中處理 XML。 它將 XML 文檔置于內(nèi)存中,這一點很像文檔對象模型 (DOM)。 您可以查詢和修改 XML 文檔,修改之后,可以將其另存為文件,也可以將其序列化然后通過網(wǎng)絡(luò)發(fā)送。 但是,LINQ to XML 與 DOM 不同:它提供一種新的對象模型,這是一種更輕量的模型,使用也更方便,這種模型利用了 Visual C# 2008 在語言方面的改進(jìn)。
LINQ to XML 最重要的優(yōu)勢是它與 Language-Integrated Query (LINQ) 的集成。由于實現(xiàn)了這一集成,因此,可以對內(nèi)存 XML 文檔編寫查詢,以檢索元素和屬性的集合。 LINQ to XML 的查詢功能在功能上(盡管不是在語法上)與 XPath 和 XQuery 具有可比性。 Visual C# 2008 集成 LINQ 后,可提供更強的類型化功能、編譯時檢查和改進(jìn)的調(diào)試器支持。
通過將查詢結(jié)果用作 XElement 和 XAttribute 對象構(gòu)造函數(shù)的參數(shù),實現(xiàn)了一種功能強大的創(chuàng)建 XML 樹的方法。 這種方法稱為“函數(shù)構(gòu)造”,利用這種方法,開發(fā)人員可以方便地將 XML 樹從一種形狀轉(zhuǎn)換為另一種形狀。
二、載入文檔
可以通過XDocument或XElement的靜態(tài)方法Load載入xml文檔,Load可以接受URI字符串,TextReader,XmlReader作為輸入源。還可以使用靜態(tài)方法Parse把字符串轉(zhuǎn)變?yōu)榇樵兊膞ml文檔。XDocument和 XElement的區(qū)別在于查詢時,XElment可以跳過根幾點直接查詢。
- //從文件載入
- XDocument myPets = XDocument.Load("MyPets.xml");
- //從http載入天氣預(yù)報
- string weatherWebService =
"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/
getWeatherbyCityName?theCityName=58367";- XDocument weather = XDocument.Load(weatherWebService);
- XElement weatherElement = XElement.Load(weatherWebService);
以上介紹LINQ to XML入門
【編輯推薦】