博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 3.0 LINQ to XML
阅读量:5245 次
发布时间:2019-06-14

本文共 1492 字,大约阅读时间需要 4 分钟。

高级转换:

static IEnumerable
ExpandPaths (IEnumerable
paths){ var brokenUp = from path in paths let split = path.Split (new char[] { '\\' }, 2) orderby split[0] select new { name = split[0], remainder = split.ElementAtOrDefault (1) }; IEnumerable
files = from b in brokenUp where b.remainder == null select new XElement ("file", b.name); IEnumerable
folders = from b in brokenUp where b.remainder != null group b.remainder by b.name into grp select new XElement ("folder", new XAttribute ("name", grp.Key), ExpandPaths (grp) ); return files.Concat (folders);}static void RunQuery(){ XElement project = XElement.Load ("myProjectFile.csproj"); XName ns = project.Name.Namespace; IEnumerable
paths = from compileItem in project.Elements (ns + "ItemGroup").Elements (ns + "Compile") let include = compileItem.Attribute ("Include") where include != null select include.Value; XElement query = new XElement ("Project", ExpandPaths (paths));}

转载于:https://www.cnblogs.com/yangzhenping/p/3346017.html

你可能感兴趣的文章
C++ FFLIB 之FFDB: 使用 Mysql&Sqlite 实现CRUD
查看>>
Spring-hibernate整合
查看>>
c++ map
查看>>
exit和return的区别
查看>>
Django 相关
查看>>
git init
查看>>
训练记录
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Hive教程(1)
查看>>
第16周总结
查看>>
C#编程时应注意的性能处理
查看>>
比较安全的获取站点更目录
查看>>
苹果开发者账号那些事儿(二)
查看>>
使用C#交互快速生成代码!
查看>>
UVA11374 Airport Express
查看>>
P1373 小a和uim之大逃离 四维dp,维护差值
查看>>
NOIP2015 运输计划 树上差分+树剖
查看>>
P3950 部落冲突 树链剖分
查看>>
读书汇总贴
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>