4 Stimmen

alle Xml-Elemente mit demselben Namen in Linq zurückgeben

Wie kann ich eine Xml-Datei abfragen, in der ich mehrere Elemente mit demselben Namen habe, so dass ich alle Elemente zurückbekomme? Derzeit erhalte ich nur das erste Ergebnis zurück. Ich habe es mit dem folgenden Code zum Laufen gebracht, aber dieser gibt alle Elemente zurück, bei denen die spezifischen Suchkriterien erfüllt sind. Ich möchte jedoch zwei Ergebnisse zurückbekommen, bei denen der Ort z. B. Dublin ist. Die Frage ist, wie kann ich dies mit linq to xml erreichen

Prost Chris,

Hier ist der Code

string location = "Oslo";    
var training = (from item in doc.Descendants("item")
                         where item.Value.Contains(location)

                      select  new
                         {
                             event = item.Element("event").Value,
                             event_location = item.Element("location").Value
                         }).ToList();

Die xml-Datei sieht wie folgt aus

<training>
   <item>
      <event>C# Training</event>
        <location>Prague</location>
        <location>Oslo</location>
        <location>Amsterdam</location>
        <location>Athens</location>
        <location>Dublin</location>
        <location>Helsinki</location>
   </item>       
   <item>
        <event>LINQ Training</event>
        <location>Bucharest</location>
        <location>Oslo</location>
        <location>Amsterdam</location>
        <location>Helsinki</location>
        <location>Brussels</location>
        <location>Dublin</location>
   </item>            
</training>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X