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 to SQL 和 LINQ to XML,都是针对不同类型数据源进行查询的工具。 ### LINQ to SQL LINQ to SQL 是一种对象关系映射(ORM)框架,允许开发者使用C#或VB.NET语言直接对SQL...
LINQ to XML引入了XElement和XAttribute类,用以表示XML元素和属性,使得操作XML就像操作.NET集合一样简单。此外,还会涉及XPath和XQuery的对比,以及如何通过LINQ to XML实现XML文档的转换和验证。 在高级主题部分...
在本篇文章中,我们将深入探讨如何使用 LINQ to XML 来读取 XML 节点值,并将其绑定到应用程序中的不同组件,如 Windows Forms 控件。 1. **XML 基础** 在讨论 LINQ to XML 之前,我们先要了解 XML(Extensible ...
与传统的DOM(文档对象模型)或XPath、XQuery等XML处理方法相比,LINQ to XML 提供了一种更简洁、类型安全的方式来创建、操作和查询XML文档。它的API设计紧密地与C#和VB.NET语言特性相结合,使得代码更加清晰、...
1. **XElement 和 XAttribute**: LINQ to XML 的核心类是 `XElement` 和 `XAttribute`。`XElement` 用于表示XML元素,而 `XAttribute` 用于表示元素的属性。它们都继承自 `XObject` 类,可以方便地进行对象操作。 2...
1. **XElement** 类:这是LINQ to XML的核心类,代表XML元素。你可以直接创建XElement对象,然后通过添加子元素、属性或其他元素来构建XML结构。例如: ```csharp XElement doc = new XElement("Root", new ...
示例描述:本章介绍LINQ to XML相关技术和使用。 CreateSimpleXMLTree 演示通过XElement创建简单的XML树。 CreateAttributeElement 演示通过XElement创建具有属性的XML元素。 CreateSubElement 演示通过...
LInq包括多个部分,如LInq To Objects、LInq To Xml、LInq To Sql等,它们分别针对不同的数据源提供强大的查询支持。 **一、LInq To Xml** LInq To Xml是LInq的一个关键组成部分,它为XML处理提供了强大的API。在...
在.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的一个子集,专门用于处理XML文档。它提供了更简洁、类型安全且高效的XML编程模型,使得在.NET环境中操作XML变得更加简单。 在"LINQ to XML"中,我们主要会接触到以下几个核心概念: 1. **...
LINQ to XML 可以很好地与其他LINQ技术(如LINQ to Objects、LINQ to SQL)结合,实现数据的无缝转换和处理。例如,可以将数据库查询结果直接转换为XML,或将XML数据映射到对象模型。 ### 七、示例代码(Console...
总之,LINQ to XML通过XElement类提供了丰富的功能,简化了XML处理,使C#程序员能更高效地处理XML数据,无需深入学习底层XML处理机制。无论是在开发应用程序、集成数据还是进行数据转换,掌握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 (Language Integrated Query) to XML 是 .NET Framework 中的一个重要组件,它提供了一种简洁、高效的方式来处理XML文档。LINQ to XML 结合了C# 和 VB.NET 语言特性,使得XML操作...
LINQ TO XML操作示例 轻轻松松 学会简单操作 本例子包含了通过LINQ创建XML、加载XML、读取XML、修改XML元素、属性、删除XML元素节点、属性,XML排序,保存XML等 基本上XML的操作都包含在这里面了。 适合学习LINQ...
在LINQ to XML中,`XElement`是基本的元素类,代表XML文档中的一个节点。你可以通过构造函数创建元素,并添加子元素、属性等。例如: ```csharp XElement root = new XElement("Root", new XElement("Child1", ...
- **性能优化**:与DOM模型相比,Linq to XML的内存占用更少,处理速度更快。 - **代码可读性**:使用Linq to XML编写的代码更易于理解和维护。 - **类型安全**: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中的LINQ to XML技术的课程。本课程旨在帮助初学者理解并掌握LINQ(Language Integrated ...