LINQ查询嵌套循环具有多个select语句

时间:2017-12-07 12:25:40

标签: c# linq xelement

我正在尝试生成XML,以创建我正在使用LINQ的嵌套XElements。

但是,我很难根据之前的LINQ循环创建更多嵌套元素。

这就是我的尝试:

List<MessageValues> desValues;

XElement xml = new XElement(ns + "Message_Name",
          new XAttribute(XNamespace.Xmlns + "i", nsi.NamespaceName),
              from sr in subNames
              select new XElement(sr),
              from v in desValues
              where v.SubRoot = sr //need a way of doing this
              select new XElement(v.Key, v.Value));

基本上我需要知道是否有一种嵌套2个LINQ循环的方法,但仍然在每次迭代后选择。

希望这有足够的意义..

1 个答案:

答案 0 :(得分:1)

试试这个:

XElement xml =
    new XElement(
        ns + "Message_Name",
        new XAttribute(
            XNamespace.Xmlns + "i",
            nsi.NamespaceName),
        from sr in subNames
        select new XElement(sr),
        from sr in subNames
        from v in desValues
        where v.SubRoot = sr
        select new XElement(v.Key, v.Value));