2016-06-10 64 views
0

noob这里使用LINQ。 我已经创建了2个查询,如果可能的话我想组合。如何在C#中合并2个LINQ XML查询

 var myData = 
     from el in root.Descendants().Elements("sensor") 
     where (string)el.Attribute("name") == "Sensor1" 
     select el; 

     var myData2 = 
     from el in myData.Elements("evt") 
     select new 
     { 
      t1 = el.Attribute("time").Value, 
      v1 = el.Attribute("val").Value 
     }; 

     dataGridView1.DataSource = myData2.ToList(); 

理想情况下,我想知道如何组合2个查询。

谢谢

回答

0

这是可能的,你可以这样做。

var result = root.Descendants() 
    .Elements("sensor") 
    .Where(el=>(string)el.Attribute("name") == "Sensor1") 
    .Elements("evt") 
    .Select(el=> new 
     { 
      t1 = el.Attribute("time").Value, 
      v1 = el.Attribute("val").Value 
     }) 
    .ToList() 
dataGridView1.DataSource = result; 
+0

伟大的作品!!!!这是什么。 (点)是指关键字之前的意思? – Studley

+0

它被称为链接。 –

+0

完成 - 再次感谢。 – Studley