2013-03-04 15 views
5

das folgende XML gegeben hat:Wählen Sie XElement wo geordnetes Element Wert

<platforms> 
    <platform> 
    <id>1</id> 
    <price>2.99</price> 
    </platform> 
</platforms> 

Wie kann ich die „Plattform“ Element als ein XElement-Objekt auswählen, bezogen auf das Kind-Element „id“ mit einem Wert von „1 "?

Ich habe so weit gekommen:

XDocument xPlatformXml = new XDocument(); 
XElement xel = xPlatformXml.Element("platforms").Elements("platform").Where(x => x.Value == "1").SingleOrDefault(); 

Aber das sucht der Wert in „Plattform“ Element zu sein, anstatt „id“.

Antwort

13
XDocument xPlatformXml = new XDocument(); 
XElement xel = xPlatformXml.Element("platforms") 
          .Elements("platform") 
          .Where(x => x.Element("id").Value == "1") 
          .SingleOrDefault(); 

Oder mit XElement zu int Umwandlung:

XDocument xPlatformXml = new XDocument(); 
XElement xel = xPlatformXml.Element("platforms") 
          .Elements("platform") 
          .Where(x => (int)x.Element("id") == 1) 
          .SingleOrDefault(); 
+0

Vielen Dank für Ihre Hilfe –

Verwandte Themen