当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > LINQ学习笔记:LINQ to XML

ASP.NET
asp.net下用服务器端代码解决浏览器兼容性问题
asp.net 安全的截取指定长度的html或者ubb字符串
asp.net 在线编辑word文档 可保存到服务器
asp.net 提高网站速度及如何利用缓存
asp.net 修改/删除站内目录操作后Session丢失问题
asp.net URL重写简化版 速学URL重写
asp.net EncryptHelper 加密帮助类
asp.net JSONHelper JSON帮助类
C# 调用存储过程简单完整的实例代码
vs2008 安装失败的总结与分享
HttpHandler HttpModule入门篇
ASP.NET(AJAX+JSON)实现对象调用
Asp.net 基于Cookie简易的权限判断
asp.net通过HttpModule自动在Url地址上添加参数
asp.net 字符串、二进制、编码数组转换函数
ASP.NET操作Excel备忘录
记录游客页面访问IP的简易实现代码 (asp.net+txt)
比较简单的将数据信息导入wrod文档方案(C# for word)
增加asp.net应用程序性能的20种方法(简单有效)
ASP.NET 图片防盗链的实现原理分析

ASP.NET 中的 LINQ学习笔记:LINQ to XML


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 75 ::
收藏到网摘: n/a

LINQ to 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命名空间下.

架构概貌

考虑以下的XML文件

 1: <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 2: <customer id="123" status="archived">
 3: <firstname>Joe</firstname>
 4: <lastname>Bloggs</lastname>
 5: </customer>

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

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

LINQ to XML包含两个内容:

  1. 一个XML DOM, 我们称它为X-DOM
  2. 一系列附加的查询操作符

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

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

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

待续!