`
gstarwd
  • 浏览: 1536589 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用LINQ to XML来查询XML

    博客分类:
  • .NET
阅读更多

使用LINQ to XML来查询XML

 
  • 摘要: 语 言集成查询(LINQ to XML)简化了对XML数据的使用,不必使用额外的语言语法像XPath或XQuery。你可以使用它对你从文件系统、从一个远程web service或从一个内存中的XML内容中获得的XML执行LINQ查询。本文将只关注于使用LINQ从一个XML文件——Customers.xml 文件查询XML。
  •  
  • <script src="http://www.51cto.com/js/article/keywords_ad.js"></script>
     

用 于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...。

 
图1

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

 
图2

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

 
图3

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

 
图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来运行。

 
图5

不使用LINQ来做相同的事情是要复杂得多,因为你仍然需要在节点间搜索以访问这些元素和它们的值。

分享到:
评论
1 楼 kdale 2010-11-25  
linq技术完全颠覆了处理内存对象的方式,用起来很方便

相关推荐

    精通LINQ LINQ to XML

    LINQ是一种在.NET Framework中引入的强大查询技术,它允许开发人员使用一致的、类型安全的语法来查询各种数据源,如XML、SQL数据库以及.NET集合。LINQ to XML则专门针对XML数据进行查询操作,提供了高效的XML处理...

    Linq to xml,读取XMl节点值

    在本篇文章中,我们将深入探讨如何使用 LINQ to XML 来读取 XML 节点值,并将其绑定到应用程序中的不同组件,如 Windows Forms 控件。 1. **XML 基础** 在讨论 LINQ to XML 之前,我们先要了解 XML(Extensible ...

    LINQ教程中文版(LINQ TO SQL ,LINQ TO XML)

    LINQ to XML 是.NET框架中处理XML文档的强大工具,它提供了一种全新的方式来创建、查询和修改XML。相比于传统的DOM和XPath,LINQ to XML具有更高的性能和更简洁的API。以下是其主要特性: 1. **XElement和...

    LINQ To Xml示例程序

    与传统的DOM(文档对象模型)或XPath、XQuery等XML处理方法相比,LINQ to XML 提供了一种更简洁、类型安全的方式来创建、操作和查询XML文档。它的API设计紧密地与C#和VB.NET语言特性相结合,使得代码更加清晰、...

    LINQ to XML操作XML的代码,通过它很快掌握用内存在对象方式操作XML数据

    6. **性能优化**:LINQ to XML在内存使用和处理速度上比传统的XmlDocument类更高效,因为它不需要DOM(文档对象模型)来完全加载整个XML文档。 现在,我们来看看如何使用LINQ to XML处理XML数据的一些具体例子: 1...

    linq to xml入门的例子

    3. **查询XML**: LINQ to XML 提供了丰富的查询语法,包括 `Where`、`Select`、`Descendants` 和 `Elements` 等。例如,查询 "root" 元素下的所有 "child" 元素: ```csharp var children = from child in root....

    LINQ TO XML

    在LINQ to XML中,我们可以使用`XElement`和`XDocument`类来创建XML结构。`XElement`代表XML元素,而`XDocument`则代表整个XML文档。创建XML文档时,可以使用对象初始化器或者方法链式调用来构建元素和属性: ```...

    LInq入门宝典 Linq To Xml linq to sql

    在传统的XML处理中,我们需要使用DOM(文档对象模型)或XPath、XQuery等来解析和操作XML,而LInq To Xml则将这些操作与C#或VB.NET语言紧密结合,使得XML编程更为高效。 1. **XDocument与XElement**:LInq To Xml的...

    linq to xml 增,删,改,查

    总的来说,LINQ to XML 提供了一种强大而灵活的方式,让我们能够以编程方式处理XML文档,无论是简单的查询还是复杂的转换,都能得心应手。通过熟练掌握LINQ to XML,开发者可以更高效地处理XML数据,提高开发效率。

    Linq 大全 Linq To Sql Linq To DataSet Linq To Object Linq to Xml

    可能包含了各种LINQ应用场景的示例代码,如如何使用LINQ to SQL执行数据库查询,如何使用LINQ to DataSet操作数据集,如何使用LINQ to Object处理内存中的数据,以及如何使用LINQ to XML解析和生成XML文档。...

    linq to sql 、linq to xml 、linq to object

    LINQ to XML提供了一种新的处理XML文档的方式,它将XML文档视为对象集合,可以直接进行查询和修改。学习LINQ to XML涉及以下内容: - 概述:理解LINQ to XML的基本概念和优势。 - 编程概述:创建XML文档,添加、...

    LINQ TO XML操作示例 初学者必看

    LINQ TO XML操作示例 轻轻松松 学会简单操作 本例子包含了通过LINQ创建XML、加载XML、读取XML、修改XML元素、属性、删除XML元素节点、属性,XML排序,保存XML等 基本上XML的操作都包含在这里面了。 适合学习LINQ...

    示例描述:本章介绍LINQ to XML相关技术和使用

    示例描述:本章介绍LINQ to XML相关技术和使用。 CreateSimpleXMLTree 演示通过XElement创建简单的XML树。 CreateAttributeElement 演示通过XElement创建具有属性的XML元素。 CreateSubElement 演示通过...

    C#程序中使用LINQ to XML来查询XML格式数据的实例

    LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML。 它将 XML 文档置于内存中,这一点很像文档对象模型 (DOM)。 您可以查询和修改 XML 文档,修改之后,可以...

    C# LinqXML使用LINQ技术对XML文件进行读取

    在处理XML文档时,LINQ to XML(也称为LinqXML)是一个非常实用的API,它提供了面向对象的方式来创建、操作和读取XML文档。本文将详细介绍如何使用C#的LinqXML技术对XML文件进行读取。 首先,我们需要引入必要的...

    语言集成查询(LINQ)之LINQ.to.XML入门篇

    总的来说,“LINQ to XML入门篇”将引导我们逐步掌握如何在C#中利用LINQ查询XML数据,理解其基本语法、操作方法以及优势,从而在实际开发中提高效率,简化XML处理任务。学习并熟练掌握LINQ to XML,对于任何.NET...

    Linq to Xml practise

    **正文** 《LINQ to XML 实践指南》 LINQ(Language Integrated Query,语言集成查询)是.NET Framework中的一项重要技术,它为...通过不断的实践和探索,你将成为使用LINQ to XML的专家,能够自如地驾驭XML数据。

    Linq to xml 案例

    Linq(Language Integrated Query,语言集成查询)是一种在C#和VB.NET中对数据进行查询的新方式,而Linq to XML则是Linq家族的一员,专门针对XML数据提供了一种简洁、高效的编程接口。本案例将深入探讨Linq to XML的...

    linq to xml

    LINQ to XML提供了高效的、面向对象的方式来创建、查询和修改XML文档,它将XML处理与C#或VB.NET等编程语言紧密结合,使得开发者可以使用熟悉的语言构造来操作XML。 ### LINQ to XML 的主要特点: 1. **简洁的API**...

Global site tag (gtag.js) - Google Analytics