Linq To Xml学习 - 3.查询、更新、删除

Linq To Xml学习 - 3.查询、更新、删除

文章最后有该示例的XML文档。

查找具有特定属性的元素

XElement root = XElement.Load ("PurchaseOrder.xml");
IEnumerable address =
  from el in root.Elements("Address")
  where (string)el.Attribute("Type") == "Billing"
  select el;
foreach (XElement el in address)
  Console.WriteLine(el);

输出为:

<Address Type="Billing">
 <Name>Tai YeeName>
 <Street>8 Oak AvenueStreet>
 <City>Old TownCity>
 <State>PAState>
 <Zip>95819Zip>
 <Country>USACountry>
Address>

内存中 XML 树修改与函数构造

就地修改 XML 树是更改 XML 文档形状的传统方法。 典型的应用程序将文档 加载到数据存储区(如 DOM 或 LINQ to XML);使用编程接口插入节点、删除 节点或更改节点的内容;然后将 XML 保存到文件或通过网络传输。

LINQ to XML 允许使用另一种可在许多方案中使用的方法:函数构造。 函数 构造将修改数据视为转换问题,而不是数据存储区的具体操作。 如果您采用某 种数据表示形式并有效地将其从一种形式转换为另一种形式,其结果等效于您采 用一个数据存储区并对其以某种方式进行操作以采用另一种形状。 函数构造方 法的关键是将查询的结果传递给 XDocument 和 XElement 构造函数。

此示例假设您想修改下面的简单 XML 文档,使属性变为元素。 本节首先介 绍传统的就地修改方法。 然后显示函数构造方法。XML文件:

xml version="1.0" encoding="utf-8" ? >
<Root Data1="123" Data2="456">
 <Child1>ContentChild1>
Root>

您可以编写一些过程代码以便从属性创建元素,然后删除属性,如下所示:

XElement root = XElement.Load("Data.xml");
foreach (XAttribute att in root.Attributes()) {
  root.Add(new XElement(att.Name, (string)att));
}
root.Attributes().Remove();
Console.WriteLine(root);

输出结果为:

<Root>
 <Child1>ContentChild1>
 <Data1>123Data1>
 <Data2>456Data2>
Root>

时间: 2024-12-09 18:10:34

Linq To Xml学习 - 3.查询、更新、删除的相关文章

asp.net Linq to Xml学习笔记_实用技巧

加上之前学习过Linq to Entity,因此学习起来也比较随心应手. 以下是项目中某个底层的代码,记下做个备忘,如果能给新手学习Linq to Xml带来帮助,那就再好不过了 XML文件的格式: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <configuration> <OPsystemConfig> <MemberCenter> <DomainNam

Linq To Xml学习 - 1.LINQ to XML 概述

LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. 它将 XML 文档置于内存中,这一点很像文档对象模型 (DOM). 您可以查询 和修改 XML 文档,修改之后,可以将其另存为文件,也可以将其序列化然后通 过网络发送. 但是,LINQ to XML 与 DOM 不同: 它提供一种新的对象模型, 这是一种更轻量的模型,使用也更方便,这种模型利用了 Visual C# 2008 在语 言方面的改进. LI

Linq To XML学习

这几天抽空看了看C# 3.0的一些新特性,匿名对象.Lambda表达式.Linq等 ,给我很大的冲击.简洁化.人性化.更加可读易理解的代码,让C# 3.0增色不 少.以前我总认为C#语言就是follow Java语言,现在看来微软就是强大,在流 行的基础上创出了自己的个性,漂亮简洁高效的编程语言让人不得不倾心. 因为以前的项目用到Xml操作比较多,我着重看了看Linq To Xml,用 msdn上的话来说,Linq To Xml是LINQ项目的一个组件,它是一种现代化的.在 内存中的XML编程A

Linq To Xml学习 - 2.LINQ to XML编程概述

LINQ to XML 类概述 XAttribute 类 XAttribute 表示一个 XML 属性. XCData 类 XCData 表示一个 CDATA 文本节点. XComment 类 XComment 表示一个 XML 注释. XContainer 类 XContainer 是适用于可能具有子节点的所有节点的抽 象基类.下面的类派生自 XContainer 类: XElement XDocument XDeclaration 类 XDeclaration 表示一个 XML 声明.XML

Php中使用PDO操作MySQL数据库(查询 更新 删除)

PDO扩展为PHP访问数据库定义了一个轻量级的.一致性的接口,它提供了一个数据访问抽象层, 这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据. PDO支持的PHP版本为PHP5.1以及更高的版本,而且在PHP5.2下PDO默认为开启状态, 下面是在php.ini中PDO的配置: extension=php_pdo.dll 为了启用对某个数据库的支持,需要在php配置文件中将相应的扩展打开,例如要支持MySQL,需要开启下面的扩展 extension=php_pdo_mysql.d

为什么LINQ to XML的性能要优于XmlDocument?

一直很忙,压了很多贴,今天发一篇吧.后面的看心情吧. 今天群里有人问如何解析web.config方便,然后我就推荐了Linq to XML,然后就有人说"我宁可XmlDocument,再SeleteNodes和SeleteNode",不要用LINQ之类的,甚至否定EntityFramework等一系列框架,认为这些都是所谓的"懒人技术",都是以牺牲性能为代价的.我在这里想申明一点,没有测试就没有发言权,并不是所有的"懒人技术"都是以牺牲性能为代价

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

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

LINQ to XML LINQ学习第一篇

1.LINQ to XML类   以下的代码演示了如何使用LINQ to XML来快速创建一个xml: public static void CreateDocument() { string path = @"d:\website"; XDocument xdoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"), new XElement("Root&

java-jdom解析修改xml然后再查询数据时没有更新

问题描述 jdom解析修改xml然后再查询数据时没有更新 jdom解析修改xml文件然后再查询数据时,还是原来的数据没有更新,这是什么情况.