需要引用的命名空间:   using System.Xml.Linq;

常用的类:XDocument、XElement、XAttribute

创建 XDocument对象。

  • XDocument.Load():从文件、URI 或流中读取 XML 文档
  • XDocument.Parse():从一个字符串加载 XML 文档

一、使用Linq to xml创建xml文档

            XDocument xml = new XDocument(
new XElement("configuration",
new XElement("ImgButtonSettings",
new XElement("button",
new XElement("name", new XAttribute("id", "EFS"), "close"),
new XElement("size-w",61),
new XElement("size-h", new XAttribute("ff", 564), 56),
new XElement("localtion-x",970),
new XElement("localtion-y",3),
new XElement("openurl",""),
new XElement("visable",true)
),
new XElement("button",
new XElement("name", new XAttribute("id", "EFS"), "back"),
new XElement("size-w", 61),
new XElement("size-h", new XAttribute("ff", 564), 56),
new XElement("localtion-x", 990),
new XElement("localtion-y", 3),
new XElement("openurl", ""),
new XElement("visable", true)
)
)
)
);
xml.Save(@"E:\123.xml");

  

二、使用Linq to xml 查询xml

注意子元素和子代(即后代)元素的区别,子元素就是儿子 ,子代元素就是所有后代

Element()和Elements()方法获取的都是子元素,非子元素的后代元素是获取不到的

Descendants()获取的是后代元素

XDocument对象的子元素有且只有一个就是xml的根节点

  // 获取button节点下的所有localtion-x节点
var node = from x in xml.Descendants("button").Elements()
where x.Name == "localtion-x"
select x;
foreach (var item in node)
{
Console.WriteLine(item.Name);//获取节点的名字
Console.WriteLine(item.Value);//获取节点的值
} //获取button下id属性为name的所有name节点
var node2 = from x in xml.Descendants("button").Elements("name")
where x.Attribute("id").Value == "ABC"
select x;
foreach (var item in node2)
{
Console.WriteLine(item.Value);
}

传统的XML读取方式:http://www.cnblogs.com/lxf1117/p/4178678.html

.Net处理Xml相关随笔

XML操作之Linq to Xml的更多相关文章

  1. Linq to xml 操作带命名空间的xml

    昨天需要操作用代码操作csproj文件,实现不同vs版本的切换. 在用XElement读取了csproj文件以后怎么也获取不到想要的对象. 反反复复试验了好多次都不得要领:先看下csproj文件的内容 ...

  2. xml操作-Nested exception: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. 异常处理

    异常如下: org.dom4j.DocumentException: Error on line 2 of document file:///D:/workspaces/struts2/lesson0 ...

  3. C#操作Xml:linq to xml操作XML

    LINQ to XML提供了更方便的读写xml方式.前几篇文章的评论中总有朋友提,你为啥不用linq to xml?现在到时候了,linq to xml出场了. .Net中的System.Xml.Li ...

  4. linq to xml 简单的增、删、改、查、保存xml文件操作

    using System; using System.Collections; using System.Configuration; using System.Data; using System. ...

  5. Linq之Linq to XML

    目录 写在前面 系列文章 linq to xml 总结 写在前面 在很多情况下,都可以见到使用xml的影子.例如,在 Web 上,在配置文件.Microsoft Office Word 文件(将wor ...

  6. Linq世界走一走(LINQ TO XML)

    前言:Linq to xml是一种使用XML的新方法.从本质上来说,它采用了多种当前使用的XML处理技术,如DOM和XPath,并直接在.NET Framework内将它们组合为一个单一的编程接口.L ...

  7. C#操作Xml:使用XmlReader读Xml

    XmlDocument和XElement在读取Xml时要将整个Xml文档放到内存中去操作,这样做操作简单,但是很费内存和IO(可能是磁盘IO或者网络IO):而在有些场景下我们必须考虑尽可能节省内存和I ...

  8. LINQ to XML基本操作

    Linq to XML同样是对原C#访问XML文件的方法的封装,简化了用xpath进行xml的查询以及增加,修改,删除xml元素的操作. LINQ to XML 三个最重要类:XElement.XAt ...

  9. C#使用Linq to XML进行XPath查询

    最近在用到HtmlAgliltyPack进行结点查询时,发现这里选择结点使用的是XPath.所以这里总结一下在C#中使用XPath查询XML的方法.习惯了用Linq,这里也是用的Linq to xml ...

随机推荐

  1. std::remove

    #include <algorithm> template< class ForwardIt, class T > ForwardIt remove( ForwardIt fi ...

  2. 编码识别工具:hash-identifier

    hash-identifier的使用: 当不知道编码是什么类型的时候,可以通过kali系统中的hash工具判别,如下图所示, 在HASH后面输入要判别的编码内容,在后面的Possible Hashs中 ...

  3. Android 对话框用法

    来自:http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html Activities提供了一种方便管理的创建.保存.回复的对话框机制,例 ...

  4. python lambda 用法

    可以视lambda为一个简易的函数,它不需要return,形式简单 #冒号左边是变量 #冒号右边是返回值 例: >>> def f (x): return x**2 ... > ...

  5. Hibernate征途(五)之继承映射和组件映射

    之所以把这两种映射放到一起说,是因为二者都是以复用为目的,减少了代码和配置量,这是相同点:二者之间的不同点类似继承和实现的区别:继承的类是一个事物的抽象,而实现的接口仅仅是功能的抽象. 继承映射 如上 ...

  6. CentOS 命令随笔

     linux下敲命令时:快速删除当前行已经敲的命令: CTR+U  或者 CTR+/                         快速删除当前行刚输入接近鼠标当前位置的单词:CTR+W 以上在XS ...

  7. Windows Embedded Compact 2013 安装体验

    6月14日,微软正式发布了Windows embedded compact 2013,大家还是习惯称之为Window CE 8,公司也要开始做windows embedded compact 2013 ...

  8. 树莓派raspbian安装配置(基本配置+中文配置+远程桌面+lighttpd+php+mysql)

    raspbian为树莓派的官方系统,基于Debian裁剪过的Linux系统 其配置过程如下 烧录镜像 首先从树莓派的官方网站上下载镜像和镜像工具 http://www.raspberrypi.org/ ...

  9. 解锁windowsphone设备遇到的错误:检查Miscrosoft账户凭据、请重新注册 0x80004005 解决方案

    本篇文章主要讲在解锁windowsphone设备时遇到的错误 Error1:登录windowsphone开发人员中心时出错,请检查您的miscrosoft账户凭据 Error2:注册您的手机时出现未知 ...

  10. [原]Unity3D深入浅出 - 摄像机组件(Camera)

    在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener等4个组件,如下图. ClearFlags ...