Linq To Xml一句入门
2010-07-13 09:09
281 查看
上次写了篇Linq To Xml 增删改查
自以为对Linq To Xml差不多入门了,结果实际工作中遇到一个简单的子级查询就绊住了。
园子里高人比较多,帮我写句很经典的Linq语句,让体验到Linq的强大与高深。
先看这句经典代码吧。
大气象
string xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?><root>"
+ "<room><id>1</id><people><name>张三1</name></people>"
+ "<people><name>张三2</name></people></room><room><id>2</id><people><name>李四1</name></people>"
+ "<people><name>李四2</name></people></room></root>";
var obj = XDocument.Parse(xml).Descendants("room")
.Where(w => w.Elements("id").Any(a => (int)a == 1))
.SelectMany(s => s.Elements("people"));
foreach (var info in obj)
{
Response.Write(info + "<br />");
}
/*
* 1.Parse() 从字符串创建XDocument
* 2.Descendants("xname"); 按XName筛选子元素集合
* 3.Lambda表达式“=>”
* 其实和2.0中的匿名方法差不多,都是用于产生内联方法,只不过Lambda表达式的语法更为简洁。
* 语法如下:(参数列表) => 表达式或者语句块
* 4.Any() 用于判断集合中是否有元素满足某一条件;
* 5.SelectMany() Select选择(一对多);延迟
*/
Linq语法真的挺好玩,但是有不少人告诉我学Linq用处不大。没办法,用到什么就学什么吧。
这是我的提问:Linq To Xml查询指定父级下面的所有子级。
http://space.cnblogs.com/question/15683/
感谢熊哥:http://www.cnblogs.com/livexy/
自以为对Linq To Xml差不多入门了,结果实际工作中遇到一个简单的子级查询就绊住了。
园子里高人比较多,帮我写句很经典的Linq语句,让体验到Linq的强大与高深。
先看这句经典代码吧。
大气象
string xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?><root>"
+ "<room><id>1</id><people><name>张三1</name></people>"
+ "<people><name>张三2</name></people></room><room><id>2</id><people><name>李四1</name></people>"
+ "<people><name>李四2</name></people></room></root>";
var obj = XDocument.Parse(xml).Descendants("room")
.Where(w => w.Elements("id").Any(a => (int)a == 1))
.SelectMany(s => s.Elements("people"));
foreach (var info in obj)
{
Response.Write(info + "<br />");
}
/*
* 1.Parse() 从字符串创建XDocument
* 2.Descendants("xname"); 按XName筛选子元素集合
* 3.Lambda表达式“=>”
* 其实和2.0中的匿名方法差不多,都是用于产生内联方法,只不过Lambda表达式的语法更为简洁。
* 语法如下:(参数列表) => 表达式或者语句块
* 4.Any() 用于判断集合中是否有元素满足某一条件;
* 5.SelectMany() Select选择(一对多);延迟
*/
Linq语法真的挺好玩,但是有不少人告诉我学Linq用处不大。没办法,用到什么就学什么吧。
这是我的提问:Linq To Xml查询指定父级下面的所有子级。
http://space.cnblogs.com/question/15683/
感谢熊哥:http://www.cnblogs.com/livexy/
相关文章推荐
- 【转】LINQ To XML 入门(3)
- C#新手入门代码 LINQ TO XML xattribute的用法示例
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
- LINQ To XML 入门(1)
- LINQ实战阅读笔记---第九章 LINQ to XML 入门
- LINQ To XML 入门(2)
- 【转】LINQ To XML 入门(2)
- LINQ To XML 入门(3)
- 【转】LINQ To XML 入门(1)
- 【转】LINQ To XML 入门(2)
- LINQ TO XML获取节点方法
- Linq to XML 添加命名空间
- 使用LinqToXML增删
- LinqToXml Ancestors和AncestorsAndSelf方法
- LINQ to XML 编程基础
- Linq之旅:Linq入门详解(Linq to Objects)(转)
- LINQ to XML的编程基础
- LINQ TO XML学习心得(一)
- Linq to XML读取xml的方法
- Linq To XML:用名称查找元素