DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 使用LINQ to XML來讀取XML文檔
使用LINQ to XML來讀取XML文檔
編輯:XML詳解     

用於XML的語言級集成查詢(LINQ to XML)允許使用標准查詢操作符就像樹形操作符一樣來查詢XML數據,它能夠提供類似XPath的導航在後代、祖先和兄弟的XML元素中導航。它簡化了對XML數據的使用,不必使用額外的語言語法像XPath或XQuery。你可以使用LINQ to XML對你從文件系統、從一個遠程web service或從一個內存中的XML內容中獲得的XML執行LINQ查詢。這篇文章將只關注於使用LINQ從一個XML文件——Customers.xml文件查詢XML。

  創建一個簡單的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文件存儲在你的文件系統中的一個目錄下,但是為了簡單起見,我們將只把它包含進我們的項目。在Visual Studio中點擊Project菜單並選擇Add Existing Item...。

使用LINQ to XML來讀取XML文檔

  圖1

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

使用LINQ to XML來讀取XML文檔

  圖2

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

使用LINQ to XML來讀取XML文檔

  圖3

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

使用LINQ to XML來讀取XML文檔

  圖4

  現在我們開始編寫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是多麼強大,因為你對集合使用相同的語言查詢構造而現在是對XML文檔。你甚至可以執行排序、過濾和分組如同你平常在LINQ中所做的。你可以插入一個where條件從句到上面的查詢中來過濾你的結果。

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

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

使用LINQ to XML來讀取XML文檔

  圖5

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

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved