自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用LINQ to XML來查詢XML

開發(fā) 數(shù)據(jù)庫
語言集成查詢(LINQ to XML)簡化了對XML數(shù)據(jù)的使用,不必使用額外的語言語法像XPath或XQuery。你可以使用它對你從文件系統(tǒng)、從一個遠(yuǎn)程web service或從一個內(nèi)存中的XML內(nèi)容中獲得的XML執(zhí)行LINQ查詢。本文將只關(guān)注于使用LINQ從一個XML文件——Customers.xml文件查詢XML。

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

創(chuàng)建一個簡單的LINQ項目

我們將命名我們的Visual Studio項目為ConsoleLINQtoXML,并使用C#語言。使用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

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

 
圖1

選擇Customers.xml文件并點擊Add。這個XML文件將被添加到你的項目中。

 
圖2

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

 
圖3

在Customers.xml文件的Properties窗口中,點擊Copy to Output Directory選項并從下拉列表框中選擇Copy always。

 
圖4

現(xiàn)在我們開始編寫LINQ查詢來讀取我們的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類來顯示XML元素。XElement類的Load方法很簡單地將Customers.xml文件加載到XElement類中去。Elements方法返回XML文檔中這個元素——Customers元素——的一個過濾的子元素集合。這只是顯示了LINQ是多么強大,因為你對集合使用相同的語言查詢構(gòu)造而現(xiàn)在是對XML文檔。你甚至可以執(zhí)行排序、過濾和分組如同你平常在LINQ中所做的。你可以插入一個where條件從句到上面的查詢中來過濾你的結(jié)果。

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

當(dāng)你在Visual Studio中運行你的項目時,你的輸出將看起來如下所示。你可以點擊F5或點擊Visual Studio中的Debug - Start Debugging來運行。

 
圖5

不使用LINQ來做相同的事情是要復(fù)雜得多,因為你仍然需要在節(jié)點間搜索以訪問這些元素和它們的值。

【編輯推薦】

  1. XML結(jié)構(gòu)與語法入門詳解
  2. 解析JSP與XML交互編程的技巧
  3. Spring中XML配置的12個技巧
  4. 基于XML和JSON設(shè)計的Flex
責(zé)任編輯:楊鵬飛 來源: IT專家網(wǎng)
相關(guān)推薦

2011-07-22 08:43:08

XML

2009-09-16 15:41:45

LINQ查詢XML文檔

2009-09-17 13:54:26

LINQ to XML

2009-09-16 16:59:05

LINQ to XML

2009-09-14 16:46:15

LINQ to XML

2009-09-14 16:41:23

LINQ To XML

2009-09-14 15:12:40

LINQ to XML

2009-09-16 15:33:22

LINQ to XML

2009-09-16 16:52:50

LINQ to XML

2011-07-26 13:58:17

LINQ

2009-09-17 13:30:32

LINQ to XML

2009-09-16 16:55:07

LINQ to XML

2009-09-08 16:55:01

Linq實現(xiàn)XML轉(zhuǎn)換

2009-09-14 16:33:55

LINQ To XML

2009-09-16 15:48:05

Linq修改XML文檔

2009-09-14 14:58:52

LINQ to XML

2009-09-14 15:45:28

LINQ刪除XML節(jié)點

2009-09-14 16:17:03

什么是LINQ To

2009-09-14 16:51:33

LINQ XML樹加載

2009-09-16 15:53:49

Linq創(chuàng)建xml文檔
點贊
收藏

51CTO技術(shù)棧公眾號