Linq to Xml: Auswählen von Elementen, wenn ein Attributwert einem Knotenwert in einem IEnumerableXElement entspricht

8

Ich erstelle ein IEnumerable-Objekt, das nur die gewünschten Knoten aus einer XML-Datei enthält:

%Vor%

Es ist also eine Sammlung von diesen:

%Vor%

Ich möchte nur die Benutzer erfassen, bei denen das userid -Attribut auch ein userid -Knoten in der rosters -Auflistung ist.

%Vor%

Aber es gibt mir einen Fehler:

Die Typargumente für die Methode 'System.Linq.Enumerable.Contains (System.Collections.Generic.IEnumerable, TSource)' können nicht aus der Verwendung abgeleitet werden. Versuchen Sie, die Typargumente explizit anzugeben.

Was ist falsch an meinem Ansatz?

    
David 22.02.2009, 06:00
quelle

1 Antwort

6

Ein Problem, das ich sehe, ist, dass ...Elements("userid") im letzten Code-Snippet eine Liste von XElement-Objekten zurückgibt, die keinen von der Value-Eigenschaft zurückgegebenen String enthalten können. Das sollte funktionieren ...

%Vor%

Allerdings würde ich dies tun, indem Sie eine Join-Abfrage verwenden. Wählen Sie Benutzer Join-Listen auf Benutzer-ID
Es würde so etwas gehen

%Vor%

Ausgaben:

%Vor%     
Gishu 22.02.2009, 06:52
quelle

Tags und Links