2009-06-09 3 views
0

にIOrderedEnumerableを変換し、次のLINQ文はIOrderedEnumerableを返します。は、XElementの

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

私はXElementオブジェクトにリストを変換できますか? おかげ

EDIT

リストはIOrderedEnumerable<System.Xml.Linq.XElement>

+0

はい、しかし何のIOrderedEnumerable?ジョンが言うように、あなたはXElementsのリスト、または内部XElementsとのXElementをしたいですか? – Benjol

答えて

1

あなたは、単一のXElementがシーケンスのすべての要素を含んでいたいと思うのですか?

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

(もちろん、あなたが呼び出される含む要素を好きに「コンテナ」に変更します。)

それはあなたが望むものないだ場合は、手の込んだしてください。基本的にジョンは、(私が思う)言おうとしたものである

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

+0

これは奇妙なエラー... – pistacchio

1

あなたのような何かを行うことができます。

+0

「IComparableを実装する必要があり、少なくとも一つのオブジェクト」、これも私に同じエラーを与え – pistacchio

+0

がそれでした「は、少なくとも1つのオブジェクトはIComparableを実装する必要があり、」私がしたい正確に何ですが、何を示唆したことは私に与えますあなたはe.Element(「名前」)。値をORDERBY追加しなければならないということ? –

0

[OK]を、 問題がe.Element( "名前")のキャストしていました。

は今、次のように動作します:

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