Laden...

Sortierung XDocument

Erstellt von Ahrimaan vor 11 Jahren Letzter Beitrag vor 11 Jahren 551 Views
A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 11 Jahren
Sortierung XDocument

verwendetes Datenbanksystem: <XML>

Hallo zusammen,

ich habe ein XDocument mit der Struktur :

<result>
<GUID>BLUBB</GUID>
<id>111</id>
<status>requested</status>
</result>
<result>
<GUID>blubb</GUID>
<id>112</id>
<status>rejected</status>
</result>

Ich muss dieses nun so sortieren, dass die EInträge mit dem Status "requested" zeurst kommt und dann alles andere nach einer Spalte sortiert sind.
Wie ich ein OrderBy mache weiß ich aber diesen speziellen Fall fehlt mir gerade die Kreativität 😦

Jmd eine Idee ?

Grüße

T
314 Beiträge seit 2013
vor 11 Jahren

Hi,

wie wärs mit erst die requested Items auslesen und danach die restlichen anfügen?

 
XDocument doc = XDocument.Parse("xml");
var x = ((   from y in doc.Root.Descendants("result")          
                where y.Element("status").Value == "requested"
                select new  { id = y.Element("id").Value, guid = y.Element("GUID").Value, status = y.Element("status").Value })
                .Union
                (
                    from y in doc.Root.Descendants("result")      
                    where y.Element("status").Value != "requested"
                    select new  { id = y.Element("id").Value, guid = y.Element("GUID").Value, status = y.Element("status").Value }
                ));

Gruß,
t0ms3n