将IOrderedEnumerable转换为XElement

时间:2009-06-09 07:49:13

标签: c# .net linq

以下linq语句返回IOrderedEnumerable:

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

如何将列表转换为XElement? 感谢

修改

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

3 个答案:

答案 0 :(得分:1)

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

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

(显然将“容器”更改为您想要调用包含元素的任何内容。)

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

答案 1 :(得分:1)

您可以执行以下操作:

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

这基本上就是Jon试图说的(我认为)。

答案 2 :(得分:0)

确定, 问题出在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);