LINQ基础学习之LINQ to XML

开发 后端
LINQ to XML 提供使用 .NET 语言集成查询 (LINQ) Framework 的内存中 XML 编程接口。LINQ to XML 使用最新的 .NET Framework 语言功能,相当于更新的和重新设计的文档对象模型 (DOM) XML 编程接口。

LINQ to XML是很前沿的一项技术,他的功能十分的强大,很多人对此可能还不是很熟悉,所以笔者来向大家介绍一下。

LINQ to XML 提供使用 .NET 语言集成查询 (LINQ) Framework 的内存中 XML 编程接口。LINQ to XML 使用***的 .NET Framework 语言功能,相当于更新的和重新设计的文档对象模型 (DOM) XML 编程接口。

.NET Framework提供了大量的API用于处理XML数据. 从Framework 3.5开始, 对于处理常规XML文档的***选择将是LINQ to XML. LINQ to XML包含一个轻量级的LINQ友好的XML文档对象模型, 以及一系列附加的查询操作符.。

在多数场景中, 它可以被当中是先前的W3C兼容的DOM模型的替换(即XmlDocument). LINQ to XML DOM设计极其优良并且可以高效执行. 即使没有LINQ, LINQ to XML DOM作为对低级XmlReader和XmlWriter的门面(Facade)包装也是非常有价值的.

所有的LINQ to XML类型都定义在System.Xml.Linq命名空间下.

LINQ to XML架构概貌

考虑以下的XML文件

  1. "1.0" encoding="utf-8" standalone="yes"?>   
  2. "123" status="archived">   
  3. Joe   
  4. Bloggs   
  5.  

对于所有的XML文件, 我们首先定义一个声明, 然后定义一个root元素, 它的名称是customer. customer元素包含有两个属性, 并各自有名称(id和status)以及对应值(”123″和”archived”). customer还拥有两个子元素, firstName和lastName, 它们还包含了各自的简单文本内容(”Joe”和”Bloggs”).

所有的这些构件–声明,元素,属性,值以及文本内容, 都可以用一个类来展现. 如果这样的一个类型拥有集合属性来存储子内容的话, 我们可以聚合一棵对象树来描述一个文档. 这被称为文档对象模型, 即DOM.

LINQ to XML包含两个内容:

一个XML DOM, 我们称它为X-DOM

一系列附加的查询操作符

正如你可能期待的那样, X-DOM的组成类型包括像XDocument, XElement以及XAttribute. 有趣的是, X-DOM的类型并不依赖于LINQ–在没有编写任何LINQ to XML查询的情况下你依然可以加载, 实例化, 更新以及保存一个X-DOM.

相反的, 你能够使用LINQ去查询一个DOM并创建一个老式的W3C兼容的类型. 然而, 过程可能会令人沮丧并且会有一定的限制. 一个区别(与W3C DOM比)的特征是XDOM是LINQ友好的, 这意味着:

它拥有一些方法去处理IEnumerable序列,可以通过LINQ to XML去构建一棵XDOM对象树 。

以上就是对LINQ to XML的简单阐述。

【编辑推荐】

  1. 详谈Linq查询结果分析的方法
  2. 简简单单学习Linq查询语法
  3. 详细阐述Linq插入数据的操作方法
  4. 浅析Linq插入数据的实现方法
  5. 简单解决Linq多条件组合问题
责任编辑:阡陌 来源: 博客园
相关推荐

2009-09-17 13:30:32

LINQ to XML

2009-09-17 13:38:42

LINQ to XML

2011-07-22 08:43:08

XML

2009-09-14 16:46:15

LINQ to XML

2009-09-16 16:59:05

LINQ to XML

2009-09-14 16:41:23

LINQ To XML

2011-07-26 13:58:17

LINQ

2009-09-16 16:52:50

LINQ to XML

2009-09-16 15:33:22

LINQ to XML

2009-09-14 15:12:40

LINQ to XML

2009-01-04 16:58:48

LINQ to XMLLINQXML

2009-09-14 16:33:55

LINQ To XML

2009-09-16 15:41:45

LINQ查询XML文档

2009-09-08 16:55:01

Linq实现XML转换

2009-09-16 16:55:07

LINQ to XML

2009-09-16 15:53:49

Linq创建xml文档

2009-09-14 14:58:52

LINQ to XML

2009-09-14 16:17:03

什么是LINQ To

2009-09-14 16:51:33

LINQ XML树加载

2009-09-14 15:45:28

LINQ删除XML节点
点赞
收藏

51CTO技术栈公众号