Linq 解决 XML读写实例

Linq To XML的核心类XElement,一个XElement表示一个节点,new XElement("Order"),创建一个名字为Order的标签,调用Add增加子节点,也是XElement 对象!

下面是几种LINQ操作XML的常见形式。

///写文件(生成节点性质的)

 代码如下 复制代码

XElement ePersons = new XElement("Persons"); 

XElement ptom = new XElement("Person"); //增加一个Person节点 

ptom.Add(new XElement("Name", "Tom"));//在ptom下再增加子节点 

ptom.Add(new XElement("Age", "18")); 

ePersons.Add(ptom);

XElement pjack = new XElement("Person");
pjack.Add(new XElement("Name", "Jack"));
pjack.Add(new XElement("Age", "20"));
ePersons.Add(pjack);

最终生成:

 代码如下 复制代码
<?xml version="1.0" encoding="utf-8" ?>
<Persons>
  <Person>
    <Name>Tom</Name>
    <Age>18</Age>
  </Person>
  <Person>
    <Name>Jack</Name>
    <Age>20</Age>
  </Person>
</Persons>

 

///写文件(生成属性性质的)

 XElement ptom = new XElement("Person");  

 代码如下 复制代码

ptom.Add(new XAttribute("Name", "tom"));//添加XAttribute就生成属性  

ptom.Add(new XAttribute("Age", "18"));  

ePersons.Add(ptom);    

XElement pjack = new XElement("Person");  

pjack.Add(new XAttribute("Name", "jack"));  

pjack.Add(new XAttribute("Age", "20"));  

ePersons.Add(pjack);

最终生成:

 代码如下 复制代码

<Persons>
  <Person Name="tom" Age="18"/>
  <Person Name="jack" Age="20"/>
</Persons>

//读XML 读取节点格式的值

 代码如下 复制代码

 XDocument xd= XDocument.Load("XML文件地址");         

foreach (XElement item in xd.Root.Descendants("Person"))//得到每一个Person节点,得到这个节点再取他的Name的这个节点的值          

  {               Console.WriteLine(item.Element("Age").Value);//Person的节点的下得节点为Name的            }   

注释:doc.root(得到根节点的XElement对象).XElement(“tagname”)方法得到的就是节点下第一个名字为tagname的节点。  如果doc.root。XElements(复数形式)就是得到所有的子节点,Descendants("“tagname”")子孙节点 

 

 

//读XML 读取属性格式的值

 代码如下 复制代码

 XDocument xd= XDocument.Load(@"D:Program FilesDemoDemoConsoleApplication2XMLFile2.xml");             foreach (XElement item in xd.Root.Descendants("Person"))//得到每一个Person节点,得到这个节点再取他的Name的这个节点的值            

{       

Console.WriteLine(item.Attribute("Age").Value);//Person的节点的下得节点为Name的             } 

时间: 2024-11-01 14:39:49

Linq 解决 XML读写实例的相关文章

LINQ生成XML格式数据与C#序列化成XML实例

LINQ生成XML格式数据  代码如下 复制代码 using System.Xml.Linq; static void Main(string[] args)         {             //LINQ生成XML格式的数据,相比较把对象序列化成XML文件要灵活性好点using System.Xml.Linq;             List<Student> list = new List<Student>             {                

详解c#读取XML的实例代码_C#教程

XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具.XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用.微软也提供了一系列类库来倒帮助我们在应用程序中存储XML文件. "在程序中访问

解析linq to xml操作XML的示例分析_实用技巧

.Net中的System.Xml.Linq命名空间提供了linq to xml的支持.这个命名空间中的XDocument,XElement以及XText,XAttribute提供了读写xml文档的关键方法.1. 使用linq to xml写xml:使用XDocument的构造函数可以构造一个Xml文档对象:使用XElement对象可以构造一个xml节点元素,使用XAttribute构造函数可以构造元素的属性:使用XText构造函数可以构造节点内的文本.如下实例代码: 复制代码 代码如下: cla

在应用层通过spring特性解决数据库读写分离

在应用层通过spring特性解决数据库读写分离    如何配置mysql数据库的主从? 单机配置mysql主从:http://my.oschina.net/god/blog/496   常见的解决数据库读写分离有两种方案 1.应用层 http://neoremind.net/2011/06/spring实现数据库读写分离 目前的一些解决方案需要在程序中手动指定数据源,比较麻烦,后边我会通过AOP思想来解决这个问题.   2.中间件 mysql-proxy:http://hi.baidu.com/

C# LINQ to XML应用介绍_C#教程

W3C制定了XML DOM标准,.Net为了支持W3C的标准,从1.1版本开始就引入了XmlDocument类.我在前一篇博客中,介绍了如何使用XmlDocument类来对XML文档进行操作.后来 .Net又引入了LINQ,于是LINQ to XML也就应运而生,所以在.Net中,不仅可以用W3C XML DOM标准,还可以使用LINQ to XML来操作XML文档.下面就来简单介绍一下如何使用LINQ to XML. (一) 加载 加载XML比较常用的有三种方法: 复制代码 代码如下: pub

Linq to XML节点查找删除修改实现代码

本文并不对它的概念进行详细介绍,取而代之的是说说在.Net下怎么去操作XML文件.点一下题外话,XML是标准通用标记语言(SGML)的子集,可以跨平台运行,非常适合Web传输,在不同的编程语言(PHP.Java..Net等)里面都有广泛运用,所以对于XML的操作,将是你必须掌握的一门技术.   下面我们来看看XML文档是长什么样子的,这里将要以下图为例来进行说明.XML可以用来描述数据定义.类型等,它一般是被用作数据存储和数据传输. 图 一   用下面的方法可以生成上面xml的文件,生成一个xm

如何快速上手LINQ to XML

在我们的程序中,我们经常需要将一些系统的数据.信息保存在文件中,而不是保存在数据库中,在.NET中,我通常都是选择将这些系统的数据.信息保存在XML中. 操作XML的技术有很多种: 1)DOM(Document Object Model,文档对象模型),它为XML文档提供了一个标准的解析. 2)XPath和XSLT,它们提供了查询和格式化XML的功能. 3).NET框架中提供了一些对XML操作的类(在System.XML命名空间下). 4)LINQ to XML. 在我看来有了LINQ to X

Linq学习教程 Linq to Xml读取复杂xml及Linq to js使用

Linq to Xml读取复杂xml(带命名空间) xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是Linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写.之前做的一个项目有一个很变态的需求:C#项目调用不知道是什么语言写的一个WebService,然后添加服务引用总是失败,通过代理的方式动态调用也总是报错,最后没办法,通过发送原始的WebRequest请求直接得到对方返回的一个xml文件.注意过webservice的wsdl文件的朋友应该知道

wp7解决xml文件两种有效方法

对于XML数据的解析,WP7平台并没有提供SAXParser和DOMParser这两个常用的解析器,如果你过去是开发Android应用的,你可能发现在Windows Phone 7上解析XML还需要.Net Framework中专有的,比如XMLReader和 LINQ to XML parser这两种方法.  1. XML Reader XmlReader解析速度比较快同时比较省内存,但是只读的无法修改XML的内容,同时没有缓存解析功能,在Android平台可以使用SAXParser类来解析,