Finde XElement nach Attributwert

8

Ich habe eine Sammlung von IEnumerables und jede hat andere Attributwerte, die einer anderen Eigenschaft meines Geschäftsobjekts entsprechen. Hier ist ein Beispiel für das XML, das ich abfrage:

%Vor%

Ich denke, dass mein linq2xml-Lambda in der Nähe ist (nachdem ich MSDN und SO durchsucht habe), aber ich kann es anscheinend nicht richtig optimieren:

%Vor%

Der Wert von cityName get ist "System.Linq.Enumerable + WhereSelectEnumerableIterator'2 [System.Xml.Linq.XElement, System.String]" anstelle von ARLINGTON HEIGHTS

zugewiesen

Irgendwelche Vorschläge? Danke

    
CoderDennis 28.10.2009, 19:49
quelle

2 Antworten

16
%Vor%

oder

%Vor%

gibt ein IEnumerable<string> zurück (Linq-Erweiterungsmethoden geben fast immer Auflistungen und keine einzelnen Instanzen zurück), die alle Elementwerte enthalten, deren Attribut name gleich name ist. Dann nehmen wir die erste, oder null , wenn sie leer ist.

Auch dieses XML ist schrecklich und sollte geschossen werden.

    
Will 28.10.2009, 19:58
quelle
3

Wenn Sie das XML haben:

%Vor%

geladen in der XElement / XDocument SimpleDataList, können Sie mit XPath abfragen:

%Vor%

Aber ich bin mir nicht sicher, ob Sie ein XElement haben oder ein einfaches IEnumerable ... Auf jeden Fall ... ich dachte, ich werde XPath erwähnen, falls es Ihnen hilft.

    
Nestor 28.10.2009 20:09
quelle

Tags und Links