语言集成查询(LINQ to XML)简化了对XML数据的使用,不必使用额外的语言语法像XPath或XQuery。你可以使用它对你从文件系统、从一个远程web service或从一个内存中的XML内容中获得的XML执行LINQ查询。本文将只关注于使用LINQ从一个XML文件——Customers.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(c# linq xml)  LINQ XML 查询 第1张
图1

挑选Customers.xml文件并点击Add。这个XML文件将被增加到你的项目中。

运用LINQ to XML来查询XML(c# linq xml)  LINQ XML 查询 第2张
图2

从Solutions Explorer右键单击文件Customers.xml并挑选Properties。这将显现Properties窗口。

运用LINQ to XML来查询XML(c# linq xml)  LINQ XML 查询 第3张
图3

在Customers.xml文件的Properties窗口中,点击Copy to Output Directory选项并从下拉列表框中挑选Copy always。

运用LINQ to XML来查询XML(c# linq xml)  LINQ XML 查询 第4张
图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(c# linq xml)  LINQ XML 查询 第5张
图5

不运用LINQ来做相同的工作是要杂乱得多,由于你依然需要在节点间查找以拜访这些元素和它们的值。

【修改引荐】

  1. XML结构与语法入门详解
  2. 解析JSP与XML交互编程的技巧
  3. Spring中XML装备的12个技巧
  4. 根据XML和JSON规划的Flex
转载请说明出处
知优网 » 运用LINQ to XML来查询XML(c# linq to xml)

发表评论

您需要后才能发表评论