需要引用的命名空间:   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. 将 Qt 5.6 集成至 VS2015

    摘要: 由于VS2015不再支持addin,所以要用其他手段. 这里给出64位系统下的安装步骤,32位类似. 一.安装VS2015 过程略.值得注意的是要选择需要安装的内容,既然要用Qt,那么C++相 ...

  2. Java API ——String类

    1.String类概述 · 字符串是由多个字符组成的一串数据(字符序列),也可以看成是一个字符数组. · 字符串字符值“abc”也可以看成是一个字符串对象. · 字符串是常量,一旦被赋值,就不能被改变 ...

  3. 各种不会。。。。编译和安装hadoop过程中好多命令和工具不会

    http://blog.csdn.net/bamuta/article/details/13506893  64位下解决方法(重新编译~~) http://zhidao.baidu.com/link? ...

  4. A simple json-rpc case for bitcoin blockchains

    #!/usr/bin/env python import json import jsonrpc import requests #url = "http://user:password@i ...

  5. Eclipse插件安装

    在线安装(一定要保证网络畅通) 更新插件: Eclipse中,Help->Install New Software...从Work with下拉列表框中选择,通过该列表框可以选择Eclipse已 ...

  6. 如何查看你的 memcached 的状态

    最近略忙,好久没有更新博客了,已长草,今天来除下草,好了,不废话了,开始! 现在很多web服务都会用到  memcached ,如何知道你的 memcached 是否正常工作,命中率如何呢,本文简单介 ...

  7. Innodb 锁系列2 事务锁

    上一篇介绍了Innodb的同步机制锁:Innodb锁系列1 这一篇介绍一下Innodb的事务锁,只所以称为事务锁,是因为Innodb为实现事务的ACID特性,而添加的表锁或者行级锁. 这一部分分两篇来 ...

  8. apache开源项目--Derby

    Apache Derby是Apache软件基金会所研发的开放源码数据库管理系统:由于Derby是一个纯Java程式,因此只需要操作系统支援Java虚拟机,Derby便可执行. Derby是特别地为Ja ...

  9. 导出Excel帮助类

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.D ...

  10. 【Python】Python-skier游戏[摘自.与孩子一起学编程]

    这是一个滑雪者的游戏. skier从上向下滑,途中会遇到树和旗子,捡起一个旗子得10分,碰到一颗树扣100分,可以用左右箭头控制skier方向. 准备素材 一 准备python环境:我下载的pytho ...