LINQ to XML可以两种方式和XML配合使用。第一种方式是作为简化的XML操作API,第二种方式是使用LINQ查询工具。下面我使用的是第二种方式。

  主要内容:用LINQ查询语句对XML文件里的数据进行筛选。

  此方法优点:

    1.我们可以使用单一语句自顶向下创建XML树。

    2.我们可以使用包含树的XML文档在内存中创建并操作XML。

    3.我们可以不适用Text子节点来创建和操作字符串节点。

    4.一个最大的不同(改进)是,在搜索一个XML树时,不需要遍历它。相反只需要查询树并让它返回想要的结果。

  以下是有关代码的演示:

这是XML文件中的内容(可直接复制):

<?xml version="1.0" encoding="utf-8"?>
<MyElements>
  <first color="red" size="small" />
  <second color="yellow" size="small" />
  <third color="blue" size="big" />
</MyElements>

这是控制台里的代码:

static void Main(string[] args)

{

XDocument xd = XDocument.Load(@"C:\Users\伟\Desktop\jiaxing.xml"); //加载文档。这是文档的路径

XElement xt = xd.Element("MyElements");         //获取跟元素

var xyz = from e in xt.Elements()               //选择名称包含

where e.Name.ToString().Length == 5   //5个字符的元素

select e;

foreach (XElement item in xyz)

{

   Console.WriteLine(item.Name.ToString());    //所选的元素

}

Console.WriteLine();

foreach (var item in xyz)

{

Console.WriteLine("Name:{0},Color:{1},Size:{2}",

item.Name,

item.Attribute("color").Value,

      item.Attribute("size").Value           //获取特性及特性的值

);

}

Console.ReadLine();

}

LINQ to XML(1)的更多相关文章

  1. c# in deep 之LINQ读取xml(2)

    假如有以下xml文件 <?xml version="1.0" encoding="utf-8" ?><Date>  <Produc ...

  2. LINQ之路(2):LINQ to SQL本质

    LINQ之路(2):LINQ to SQL本质 在前面一篇文章中回顾了LINQ基本语法规则,在本文将介绍LINQ to SQL的本质.LINQ to SQL是microsoft针对SQL Server ...

  3. XML系列之--创建电文格式的XML(一)

    关于XML,学校那会,老师在口中仅仅提及,自己也未曾深入接触过,仅是些将最基本XML文件内容显示在web定义的表格中之类的简单操作,如今项目中的收发电文涉及到复杂XML的操作.趁此契机好好回顾下XML ...

  4. XML系列之--解析电文格式的XML(二)

    上一节介绍了XML的结构以及如何创建.讲到了XML可作为一种简单文本存储数据,把数据存储起来,以XML的方式进行传递.当接收到XML时,必不可少的就是对其进行解析,捞取有效数据,或者将第三方数据以节点 ...

  5. C# LINQ详解(转)

    C# LINQ详解(一)   原文标题:How does it work in C#?-Part 3 (C# LINQ in detail),作者:Mohammand A Rahman. 目录 LIN ...

  6. Qt之XML(一) DOM

      Qt之XML(一) 文档名称 Qt之XML 创建时间 2012-10-10 修改时间 2012-10-10 创建人 Baifx 简介(收获) 最近开始使用QtXml,学习了一番,写了几个小测试程序 ...

  7. [置顶] Android学习系列-Android中解析xml(7)

    Android学习系列-Android中解析xml(7) 一,概述 1,一个是DOM,它是生成一个树,有了树以后你搜索.查找都可以做. 2,另一种是基于流的,就是解析器从头到尾解析一遍xml文件.   ...

  8. LINQ之路(3):LINQ扩展

    本篇文章将从三个方面来进行LINQ扩展的阐述:扩展查询操作符.自定义查询操作符和简单模拟LINQ to SQL. 1.扩展查询操作符 在实际的使用过程中,Enumerable或Queryable中的扩 ...

  9. 从LINQ开始之LINQ to Objects(下)

    前言 上一篇<从LINQ开始之LINQ to Objects(上)>主要介绍了LINQ的体系结构.基本语法以及LINQ to Objects中标准查询操作符的使用方法. 本篇则主要讨论LI ...

随机推荐

  1. jquery学习笔记2

    1.点击时文字消失,失去焦点时文字再出现 <input type="text" value="郭强" onfocus="if(value=='郭 ...

  2. jquery的学习

    可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"."fast" 或毫秒.可选的 callback 参数是动画 100% 完成后所执行的函 ...

  3. PopupWindow使用

    PopupWindow使用 PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的. PopupWindow使用Demo 这 ...

  4. 【阿里云产品公测】云引擎ACE -discuz安装

    作者:阿里云用户云想未来 谢谢支持.为什么写的比较简单就是为方便新手谁想要很麻烦?亲测按这个教程可以安装成功!时间紧迫不发图片了纯原创 排版您请谅解 进入创建新应用的信息填写界面,此处需要填写一个赠送 ...

  5. sql语句如何获得当前日期

    当做到报表的时候需要sql获得当前日期?怎么获得? 看一下getdate()函数 declare @DateNow nvarchar(10) set @DateNow=CONVERT(varchar( ...

  6. .NET强制进行即时垃圾回收

    大家知道,.NET控制系统垃圾回收(一种自动回收未使用内存的服务)是自动的. 可有时候需要手动强制进行即时垃圾回收. 代码如下: GC.Collect();

  7. oracle PL/SQL(procedure language/SQL)程序设计之函数+过程+包

    匿名PL/SQL块回顾 DECLARE (可选)    定义在PL/SQL块中要使用的对象BEGIN (必须)    执行语句EXCEPTION (可选)    错误处理语句END; (必须)匿名块( ...

  8. mybatis--MapperProxy事务

    上篇 详细分析了org.mybatis.spring.mapper.MapperScannerConfigurer 和 org.mybatis.spring.SqlSessionFactoryBean ...

  9. Android布局技巧

    postInvalidate();                            界面刷新 一个list元素可能默认为48pxandroid:visibility="invisibl ...

  10. [__NSCFNumber length]: unrecognized selector sent to instance 0x8b3c310

    出现这种问题一般是你把int类型的数值赋给了NSString. 比如: 你定义了一个NSString类型的属性sex,但是服务端返回的sex字段实际上是NSNumber类型, 你直接把NSNumber ...