`
61party
  • 浏览: 1109437 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Linq To XML:论XStreamingElement与XElement的不同

阅读更多

XStreamingElement 从名字上面,已经能看出它是使用流的模式来创建Element

看到它的MSDN在线文档(http://msdn.microsoft.com/zh-cn/library/system.xml.linq.xstreamingelement(v=vs.95).aspx#Y200)

是这么解释的

XElement 在操作结点时,是把变量加到结点上,而XStreamingElement则是把变量内存地址加到结点上

变量自身的内存占用和变量地址的内存占用显然有比较大的差距,而这也直接影响着性能,这些步骤在循环中发生,结点的个数也

直接拉开内存占用大小的距离。所以XStreamingElement比较适合创建比较大的XML文件

另一个特征就是XStreaming的延迟查询能力,序列化发生的次数只有一次,也就是最后循环执行完毕以后才发生!

下面以一个例子来说明他们之前的区别

以下例子来自英文版电子书

Pro LINQ: Language Integrated Query in C# 2010

第246页

XElement

输出

结果看到,第三个元素并没有变成"Ringo",因为它在循环时就在创建XML树了,故之后无论怎么修改那个数组

都跟该XM树无关

XStreamingElement

输出

从结果已经可以看出XStreamingElement是怎么工作的了,在Console.WriteLine(xNames);这一行

XML树才真正被创建,故在这一行代码执行之前,对数组的任何改变都是有效的

分享到:
评论

相关推荐

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

    本教程主要涵盖了两个核心部分:LINQ to SQL 和 LINQ to XML,都是针对不同类型数据源进行查询的工具。 ### LINQ to SQL LINQ to SQL 是一种对象关系映射(ORM)框架,允许开发者使用C#或VB.NET语言直接对SQL...

    精通LINQ LINQ to XML

    LINQ to XML引入了XElement和XAttribute类,用以表示XML元素和属性,使得操作XML就像操作.NET集合一样简单。此外,还会涉及XPath和XQuery的对比,以及如何通过LINQ to XML实现XML文档的转换和验证。 在高级主题部分...

    Linq to xml,读取XMl节点值

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

    LINQ To Xml示例程序

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

    linq to xml入门的例子

    1. **XElement 和 XAttribute**: LINQ to XML 的核心类是 `XElement` 和 `XAttribute`。`XElement` 用于表示XML元素,而 `XAttribute` 用于表示元素的属性。它们都继承自 `XObject` 类,可以方便地进行对象操作。 2...

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

    1. **XElement** 类:这是LINQ to XML的核心类,代表XML元素。你可以直接创建XElement对象,然后通过添加子元素、属性或其他元素来构建XML结构。例如: ```csharp XElement doc = new XElement("Root", new ...

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

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

    LInq入门宝典 Linq To Xml linq to sql

    LInq包括多个部分,如LInq To Objects、LInq To Xml、LInq To Sql等,它们分别针对不同的数据源提供强大的查询支持。 **一、LInq To Xml** LInq To Xml是LInq的一个关键组成部分,它为XML处理提供了强大的API。在...

    linq to sql 、linq to xml 、linq to object

    在.NET环境中,LINQ主要分为三个主要部分:LINQ to SQL、LINQ to XML和LINQ to Objects。 1. **LINQ to SQL**: LINQ to SQL 是一种数据访问技术,它允许开发者使用C#或VB.NET的查询语法直接对SQL Server数据库...

    linq to xml 增,删,改,查

    "LINQ to XML"是LINQ的一个子集,专门用于处理XML文档。它提供了更简洁、类型安全且高效的XML编程模型,使得在.NET环境中操作XML变得更加简单。 在"LINQ to XML"中,我们主要会接触到以下几个核心概念: 1. **...

    LINQ TO XML

    LINQ to XML 可以很好地与其他LINQ技术(如LINQ to Objects、LINQ to SQL)结合,实现数据的无缝转换和处理。例如,可以将数据库查询结果直接转换为XML,或将XML数据映射到对象模型。 ### 七、示例代码(Console...

    LINQ TO XML编程基础

    总之,LINQ to XML通过XElement类提供了丰富的功能,简化了XML处理,使C#程序员能更高效地处理XML数据,无需深入学习底层XML处理机制。无论是在开发应用程序、集成数据还是进行数据转换,掌握LINQ to XML都将极大地...

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

    在标题和描述中提到的"Linq To Sql"、"Linq To DataSet"、"Linq To Object"和"Linq To Xml"是LINQ的四种主要应用方式,分别用于SQL数据库、DataSet、内存中的对象以及XML数据的查询。 1. **LINQ to SQL**: LINQ ...

    LINQ to XML 编程基础

    **LINQ to XML 编程基础** LINQ (Language Integrated Query) to XML 是 .NET Framework 中的一个重要组件,它提供了一种简洁、高效的方式来处理XML文档。LINQ to XML 结合了C# 和 VB.NET 语言特性,使得XML操作...

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

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

    Linq to Xml practise

    在LINQ to XML中,`XElement`是基本的元素类,代表XML文档中的一个节点。你可以通过构造函数创建元素,并添加子元素、属性等。例如: ```csharp XElement root = new XElement("Root", new XElement("Child1", ...

    Linq to xml 案例

    - **性能优化**:与DOM模型相比,Linq to XML的内存占用更少,处理速度更快。 - **代码可读性**:使用Linq to XML编写的代码更易于理解和维护。 - **类型安全**:Linq to XML支持强类型,能有效避免运行时错误。 ...

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

    与传统的DOM(文档对象模型)和XPath或XQuery相比,LINQ to XML提供了更高效的API来创建、修改和查询XML文档。 ** 创建XML文档 ** 使用LINQ to XML,可以轻松地创建XML文档。例如,通过`XElement`和`XAttribute`类...

    跟我一起学Visual Studio 2008系列课程(7):语言集成查询(LINQ)之LINQ to XML入门篇

    《跟我一起学Visual Studio 2008系列课程(7):语言集成查询(LINQ)之LINQ to XML入门篇》是一门深入探讨Visual Studio 2008中的LINQ to XML技术的课程。本课程旨在帮助初学者理解并掌握LINQ(Language Integrated ...

Global site tag (gtag.js) - Google Analytics