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.
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?
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 ...
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
Ausgaben:
%Vor%