博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
很酷的let clause的应用
阅读量:6040 次
发布时间:2019-06-20

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

这里是LINQ to XML利用let暂时存放子节点的数据,再从查询let中的数据得到XML中子节点多个属性.
<
cars
>
  
<
car 
name
="Toyota Coupe"
>
    
<
profile 
name
="Vendor"
 value
="Toyota"
/>
    
<
profile 
name
="Model"
 value
="Celica"
/>
    
<
profile 
name
="Doors"
 value
="2"
/>
    
<
support 
name
="Racing"
 value
="yes"
/>
    
<
support 
name
="Towing"
 value
="no"
/>
  
</
car
>
  
<
car 
name
="Honda Accord Aerodec"
>
    
<
profile 
name
="Vendor"
 value
="Honda"
/>
    
<
profile 
name
="Model"
 value
="Accord"
/>
    
<
profile 
name
="Doors"
 value
="4"
/>
    
<
support 
name
="Racing"
 value
="no"
/>
    
<
support 
name
="Towing"
 value
="yes"
/>
  
</
car
>
</
cars
>
from car 
in
 root.Elements(
"
car
"
)
let profiles 
=
  from profile 
in
 car.Elements(
"
profile
"
)
  select 
new
 
{
    Name 
= profile.Attribute("name").Value,
    Value 
= profile.Attribute("value").Value
  }
let supports 
=
  from support 
in
 car.Elements(
"
support
"
)
  select 
new
 
{
    Name 
= support.Attribute("name").Value,
    Value 
= support.Attribute("value").Value
  }
select 
new
 Car 
{
  Name 
= car.Attribute("name").Value,
  Vendor 
= profiles.Single(prof => prof.Name == "Vendor").Value,
  Model 
= profiles.Single(prof => prof.Name == "Model").Value,
  Doors 
= int.Parse(profiles.Single(prof => prof.Name == "Doors").Value),
  RacingSupport 
= supports.Single(sup => sup.Name == "Racing").Value == "yes"
}
;
其实更精彩的是在一个老外的blog上的一个超级查询表达方式.
你可能感兴趣的文章
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
codeforce 599B Spongebob and Joke
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
9、Dubbo-配置(4)
查看>>
前端第七天
查看>>
BZOJ 2190[SDOI2008]仪仗队
查看>>
图解SSH原理及两种登录方法
查看>>
[转载] 七龙珠第一部——第058话 魔境圣地
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
P127、面试题20:顺时针打印矩阵
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>