Ich habe unter XML-Datei.Abrufen von Werten aus XML mit Linq Query
<Root>
<r1>
<n1>Person1</n1>
<n2>Type1</n2>
</r1>
<r1>
<n1>Person1</n1>
<n2>Type2</n2>
</r1>
<r1>
<n1>Person2</n1>
<n2>Type2</n2>
</r1>
<r1>
<n1>Person2</n1>
<n2>Type3</n2>
</r1>
<r1>
<n1>Person2</n1>
<n2>Type4</n2>
</r1>
<r1>
<n1>Person2</n1>
<n2>Type4</n2>
</r1>
</Root>
Was ich will ist, um Typen basierend auf Personen zu bekommen. Zum Beispiel habe ich versucht unten Abfrage erwartet Typ1 und Typ2 Werte für Person1, aber es hat nicht funktioniert.
XDocument doc = XDocument.Parse(XML_Document);
XElement[] pages = doc
.Descendants("r1")
.OrderBy(x => x.FirstNode.Value=="person1")
.ToArray();
Welche Abfrage sollte ich verwenden, um es zu bekommen? Oder gibt es eine bessere Möglichkeit, mit XML-Dokumenten in asp.net C# umzugehen?
Ich denke, Sie sollten Ihre 'OrderBy' von' GroupBy (x ersetzen => x.FirstNode.Value) ' –
Ich habe gerade festgestellt, dass ich orderby dort verwendet habe :) Ich habe es in groupby geändert, aber es funktioniert immer noch nicht. es heißt (Operator == kann nicht auf Operanden vom Typ Methodengruppe und String angewendet werden) – Yavuz