日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用LINQtoXML來(lái)查詢XML

用于XML的語(yǔ)言集成查詢(LINQ to XML)允許使用標(biāo)準(zhǔn)查詢操作符就像樹形操作符一樣來(lái)查詢XML數(shù)據(jù),它能夠提供類似XPath的導(dǎo)航在后代、祖先和兄弟的XML元素中導(dǎo)航。它簡(jiǎn)化了對(duì)XML數(shù)據(jù)的使用,不必使用額外的語(yǔ)言語(yǔ)法像XPath或XQuery。你可以使用LINQ to XML對(duì)你從文件系統(tǒng)、從一個(gè)遠(yuǎn)程web service或從一個(gè)內(nèi)存中的XML內(nèi)容中獲得的XML執(zhí)行LINQ查詢。這篇文章將只關(guān)注于使用LINQ從一個(gè)XML文件——Customers.xml文件查詢XML。

創(chuàng)建一個(gè)簡(jiǎn)單的LINQ項(xiàng)目

我們將命名我們的Visual Studio項(xiàng)目為ConsoleLINQtoXML,并使用C#語(yǔ)言。使用using 指令添加下面的命名空間。System.Xml.Linq命名空間包含LINQ to XML所用到的類。

 //Include the LINQ to XML namespaces
  using System.Xml; //namespace to deal with XML documents

  using System.Xml.Linq; //namespace to deal with LINQ to XML classes

接下來(lái),我們將在我們的項(xiàng)目中添加Customers.xml文件。你也可以選擇將這個(gè)XML文件存儲(chǔ)在你的文件系統(tǒng)中的一個(gè)目錄下,但是為了簡(jiǎn)單起見,我們將只把它包含進(jìn)我們的項(xiàng)目。在Visual Studio中點(diǎn)擊Project菜單并選擇Add Existing Item...。

 
圖1

選擇Customers.xml文件并點(diǎn)擊Add。這個(gè)XML文件將被添加到你的項(xiàng)目中。

 
圖2

從Solutions Explorer右鍵單擊文件Customers.xml并選擇Properties。這將顯示Properties窗口。

 
圖3

在Customers.xml文件的Properties窗口中,點(diǎn)擊Copy to Output Directory選項(xiàng)并從下拉列表框中選擇Copy always。

 
圖4

現(xiàn)在我們開始編寫LINQ查詢來(lái)讀取我們的XML文件。首先在static void Main(string[] args)中編寫一些代碼。

// Create the query
  var custs = from c in XElement.Load("Customers.xml").Elements("Customers")
   select c ;
   // Execute the query
   foreach (var customer in custs)
   {
   Console.WriteLine(customer);
   }
   //Pause the application
   Console.ReadLine();

你將注意到它是使用XElement類來(lái)顯示XML元素。XElement類的Load方法很簡(jiǎn)單地將Customers.xml文件加載到XElement類中去。Elements方法返回XML文檔中這個(gè)元素——Customers元素——的一個(gè)過(guò)濾的子元素集合。這只是顯示了LINQ是多么強(qiáng)大,因?yàn)槟銓?duì)集合使用相同的語(yǔ)言查詢構(gòu)造而現(xiàn)在是對(duì)XML文檔。你甚至可以執(zhí)行排序、過(guò)濾和分組如同你平常在LINQ中所做的。你可以插入一個(gè)where條件從句到上面的查詢中來(lái)過(guò)濾你的結(jié)果。

where c.Element("Country").Value == "Italy"

當(dāng)你在Visual Studio中運(yùn)行你的項(xiàng)目時(shí),你的輸出將看起來(lái)如下所示。你可以點(diǎn)擊F5或點(diǎn)擊Visual Studio中的Debug - Start Debugging來(lái)運(yùn)行。

 
圖5

不使用LINQ來(lái)做相同的事情是要復(fù)雜得多,因?yàn)槟闳匀恍枰诠?jié)點(diǎn)間搜索以訪問(wèn)這些元素和它們的值。


分享名稱:使用LINQtoXML來(lái)查詢XML
文章來(lái)源:http://www.dlmjj.cn/article/dpeidpp.html