http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2509542&SiteID=1&mode=1
这里是LINQ to XML利用let暂时存放子节点的数据,再从查询let中的数据得到XML中子节点多个属性.

很酷的let clause的应用<cars>
很酷的let clause的应用  
<car name="Toyota Coupe">
很酷的let clause的应用    
<profile name="Vendor" value="Toyota"/>
很酷的let clause的应用    
<profile name="Model" value="Celica"/>
很酷的let clause的应用    
<profile name="Doors" value="2"/>
很酷的let clause的应用    
<support name="Racing" value="yes"/>
很酷的let clause的应用    
<support name="Towing" value="no"/>
很酷的let clause的应用  
</car>
很酷的let clause的应用  
<car name="Honda Accord Aerodec">
很酷的let clause的应用    
<profile name="Vendor" value="Honda"/>
很酷的let clause的应用    
<profile name="Model" value="Accord"/>
很酷的let clause的应用    
<profile name="Doors" value="4"/>
很酷的let clause的应用    
<support name="Racing" value="no"/>
很酷的let clause的应用    
<support name="Towing" value="yes"/>
很酷的let clause的应用  
</car>
很酷的let clause的应用
</cars>


很酷的let clause的应用from car in root.Elements("car")
很酷的let clause的应用let profiles 
=
很酷的let clause的应用  from profile 
in car.Elements("profile")
;


其实更精彩的是在一个老外的blog上的一个超级查询表达方式.

http://blogs.msdn.com/lukeh/archive/2007/10/01/taking-linq-to-objects-to-extremes-a-fully-linqified-raytracer.aspx


相关文章: