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