如何在C#中组合2个LINQ XML查询

时间:2016-06-10 10:14:38

标签: c# xml linq

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

        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();

理想情况下,我想知道如何合并这两个查询。

由于

1 个答案:

答案 0 :(得分: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;