代码之家  ›  专栏  ›  技术社区  ›  pistacchio

将IORDerenumerable转换为Xelement

  •  0
  • pistacchio  · 技术社区  · 16 年前

    以下LINQ语句返回IORDerenumerable:

            var list = from e in ritorno.Elements("dossier")
                                  orderby e.Element("name")
                                  select e;
    

    如何将列表转换为Xelement? 谢谢

    编辑

    列表是 IOrderedEnumerable<System.Xml.Linq.XElement>

    3 回复  |  直到 16 年前
        1
  •  1
  •   Jon Skeet    16 年前

    是否希望单个Xelement包含序列中的所有元素?

    XElement element = new XElement("container", list)
    

    (显然,将“container”更改为希望调用包含元素的任何内容。)

    如果那是 你要什么,请详细说明。

        2
  •  1
  •   Johan Leino    16 年前

    你可以这样做:

    XElement xml = new XElement("dossiers", 
                    from e in ritorno.Elements("dossier")
                    orderby e.Element("name")
                    select new XElement("dossier", e.Value));
    

    这基本上就是乔恩想说的(我想)。

        3
  •  0
  •   pistacchio    16 年前

    好啊, 问题出在e.element(“name”)的强制转换上。

    以下内容现在有效:

            var ritornoOrdinato = from e in segnalazioni.Descendants("dossier")
                                  orderby (string)e.Element("ANAG_RAGSOC_CGN")
                                  select e;
            return new XElement("NewDataSet", ritornoOrdinato);