Linq to xml:检索
/检索元素集合
XElement po = XElement.Load("c:/test.xml");
IEnumerable<XElement> childElements =
//from el in po.Descendants("Book")
from el in po.Descendants("Title")
select el;
foreach (XElement el in childElements)
Console.WriteLine("Name: " + (string)el);
Console.ReadLine();
<?xml version="1.0" encoding="utf-8"?>
<!--This is a comment.-->
<?xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?>
<Pubs>
<Book>
<Title>Artifacts of Roman Civilization</Title>
<Author>Moreno, Jordao</Author>
</Book>
<Book>
<Title>Midieval Tools and Implements</Title>
<Author>Gazit, Inbar</Author>
</Book>
</Pubs>
<!--This is another comment.-->
查找具有值为“Billing”的 Type 属性的 Address 元素
XElement root = XElement.Load("c:/PurchaseOrder.xml");
IEnumerable<XElement> address =
from el in root.Elements("Address")
where (string)el.Attribute("Type") == "Billing"
select el;
foreach (XElement el in address)
Console.WriteLine(el);
查找 Test 元素,该元素包含具有值为“Examp2.EXE”的 CommandLine 子元素
XElement root = XElement.Load("TestConfig.xml");
IEnumerable<XElement> tests =
from el in root.Elements("Test")
where (string)el.Element("CommandLine") == "Examp2.EXE"
select el;
foreach (XElement el in tests)
Console.WriteLine((string)el.Attribute("TestId"));
查询树根部的子元素
File.WriteAllText("Test.xml", @"<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
</Root>");
Console.WriteLine("Querying tree loaded with XElement.Load");
Console.WriteLine("----");
XElement doc = XElement.Load("Test.xml");
IEnumerable<XElement> childList =
from el in doc.Elements()
select el;
foreach (XElement e in childList)
Console.WriteLine(e);
具有 Type 属性等于“Shipping”的子 Address 元素和等于“NY”的子 State 元素的所有 PurchaseOrder 元素
XElement root = XElement.Load("PurchaseOrders.xml");
IEnumerable<XElement> purchaseOrders =
from el in root.Elements("PurchaseOrder")
where
(from add in el.Elements("Address")
where
(string)add.Attribute("Type") == "Shipping" &&
(string)add.Element("State") == "NY"
select add)
.Any()
select el;
foreach (XElement el in purchaseOrders)
Console.WriteLine((string)el.Attribute("PurchaseOrderNumber"));
XElement root = XElement.Parse(@"<Root>
<Child1>
<Text>Child One Text</Text>
<Type Value=""Yes""/>
</Child1>
<Child2>
<Text>Child Two Text</Text>
<Type Value=""Yes""/>
</Child2>
<Child3>
<Text>Child Three Text</Text>
<Type Value=""No""/>
</Child3>
<Child4>
<Text>Child Four Text</Text>
<Type Value=""Yes""/>
</Child4>
<Child5>
<Text>Child Five Text</Text>
</Child5>
</Root>");
var cList =
from typeElement in root.Elements().Elements("Type")
where (string)typeElement.Attribute("Value") == "Yes"
select (string)typeElement.Parent.Element("Text");
foreach (string str in cList)
Console.WriteLine(str);
<?xml version="1.0"?>
<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
<Address Type="Shipping">
<Name>Ellen Adams</Name>
<Street>123 Maple Street</Street>
<City>Mill Valley</City>
<State>CA</State>
<Zip>10999</Zip>
<Country>USA</Country>
</Address>
<Address Type="Billing">
<Name>Tai Yee</Name>
<Street>8 Oak Avenue</Street>
<City>Old Town</City>
<State>PA</State>
<Zip>95819</Zip>
<Country>USA</Country>
</Address>
<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>
<Items>
<Item PartNumber="872-AA">
<ProductName>Lawnmower</ProductName>
<Quantity>1</Quantity>
<USPrice>148.95</USPrice>
<Comment>Confirm this is electric</Comment>
</Item>
<Item PartNumber="926-AA">
<ProductName>Baby Monitor</ProductName>
<Quantity>2</Quantity>
<USPrice>39.98</USPrice>
<ShipDate>1999-05-21</ShipDate>
</Item>
</Items>
</PurchaseOrder>
转载于:https://www.cnblogs.com/marslin/archive/2013/06/04/3118001.html
Linq to xml:检索相关推荐
- LINQ to XML 常用操作(转)
查找具有特定属性的元素 XElement root = XElement.Load("PurchaseOrder.xml"); IEnumerable<XElement> ...
- Linq To Xml学习 - 1.LINQ to XML 概述
LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. 它将 XML 文档置于内存中,这一点很像文档对象模型 ...
- LINQ to XML 编程基础
http://www.cnblogs.com/luckdv/articles/1728088.html?login=1 1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快 ...
- 神兵利器——使用LINQ to SQL检索和操作数据库
自.NET 3.0开始,LINQ(Language Integrated Query,整合查询语言)便逐渐出现在.NET开发的各个角落,它不仅提供了一种用于快速检索结构化标记语言(如XML)的方法,而 ...
- LINQ to XML 建立,读取,增,删,改
LINQ to XML的出现使得我们再也不需要使用XMLDocument这样复杂的一个个的没有层次感的添加和删除.LINQ可以使的生成的XML文档在内存中错落有致.下面以一个小的例子说名LINQ to ...
- Linq初级班 Linq To XML体验(基础篇)
LINQ To XML体验(基础) 这两天开始学习LINQ to XML的知识,我会继续把自己的感想和示例发布给初学者们学习的,一样欢迎高手们多多指点,请勿使用过激语言,针锋相对,我是个初学者,自知还 ...
- LINQ之路19:LINQ to XML之X-DOM更新、和Value属性交互
本篇包含两部分内容:X-DOM更新一节中我们会详细讨论LINQ to XML的更新方式,包括Value的更新.子节点和属性的更新.通过Parent节点实现更新: 和Value属性交互一节会详细讨论XE ...
- [Linq]Linq To Xml (待整理)
[Linq]Linq To Xml (待整理) Linq To Xml (待整理) posted on 2012-02-28 10:38 水墨.MR.H 阅读(...) 评论(...) 编辑 收藏 转 ...
- LINQ to XML .Net 3.5 中的新XML对象
System.Xml.Linq 命名空间中,有一系列新的LINQ to XML 帮助对象,使处理内存中的XML文档变的非常简单. 示例使用的Hamlet.xml来源自C#高级编程源代码. XDocum ...
- 24.C#LINQ TO XML(十二章12.3)
自己也写了那么多,但还有很多不懂,有点浮躁吧,但饭还是要吃啊,说说LINQ TO XML吧. LINQ TO XML位于System.Xml.Linq程序集,并且大多数类型位于System.Xml.L ...
最新文章
- gz文件解压命令 linux_linux常用命令和文件上传(FZ)、解压、配置环境变量(JDK)
- C++中四种类型转换方式(ynamic_cast,const_cast,static_cast,reinterpret_cast)
- python 读取大文件_Python读取大文件
- RecyclerView因版本问题无法加载
- vuejs滚动条_vuescroll-一款基于vuejs2.x的虚拟滚动条
- java_函数的重载
- Oracle入门(十三A)之Select
- 在卷积层的运用_Conv 卷积层
- tornado学习笔记day06-应用安全
- 《Ext JS高级程序设计》节选:在CRUD操作中restful的设置以及使用Ext.Direct的问题...
- linux打开光盘文件怎么打开方式,ISO是什么文件?用什么打开?
- linux查看文件第三行,学习linux第三课!新手必须掌握的linux命令
- ARKit何以从同类技术中胜出?
- WebRTC学习资料大全
- Android Studio简介
- 索爱小蜜蜂扩音器怎么样啊~
- nssa和stub_STUB与NSSA区域总结
- linux 配置dns域名服务器,linux下DNS配置及域名解析服务
- ue5-预计算可视性体积(PVS)
- java聊天系统异常问题_聊天室bug问题
热门文章
- 一种全新的VDI桌面虚拟化方案(X9BYOD)
- 团队管理心得--建团队,管事理人
- php自定义函数指定参数类型,php – Doctrine:如何添加带可选参数的自定义函数?...
- python版本时间_python 获取文件版本号和修改时间
- linux 设备 总线 驱动 模型
- SpringMVC小结(四)
- [渝粤教育] 浙江大学 2021 2022秋数码摄影技术 参考 资料
- Docker系列(八)Docker的CS模式、守护进程的配置和操作
- 【浙江大学PAT真题练习乙级】1005 继续(3n+1)猜想 (25分) 真题解析
- python中将数组存储为二进制文件并读取