2013-03-04 14 views
5

Biorąc pod uwagę następujące XML:Wybierz Xelement gdzie element podrzędny posiada wartość

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

Jak mogę wybrać „platformy” element jako obiekt Xelement oparciu o element podrzędny „id” o wartości „1 "?

mam tak daleko:

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

Ale to szuka wartość, aby być w „platformy” element zamiast „id”.

Odpowiedz

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

lub używając XElement do int konwersja:

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

Dzięki za pomoc –

Powiązane problemy