Betrachten Sie das folgende XML:
<response>
<status_code>200</status_code>
<status_txt>OK</status_txt>
<data>
<url>http://bit.ly/b47LVi</url>
<hash>b47LVi</hash>
<global_hash>9EJa3m</global_hash>
<long_url>http://www.tumblr.com/docs/en/api#api_write</long_url>
<new_hash>0</new_hash>
</data>
</response>
Ich suche nach einem wirklich kurzen Weg, um nur den Wert des <hash>
Elements zu ermitteln. Ich habe es versucht:
var hash = xml.Element("hash").Value;
Aber das funktioniert nicht. Ist es möglich, eine XPath-Abfrage an eine zu senden XElement
? Ich kann es mit dem älteren System.Xml
Framework machen und so etwas machen wie:
xml.Node("/response/data/hash").Value
Gibt es so etwas in einem LINQ-Namespace?
AKTUALISIEREN:
Nachdem ich noch ein bisschen herumgespielt hatte, fand ich einen Weg, das zu tun, was ich versuche:
var hash = xml.Descendants("hash").FirstOrDefault().Value;
Es würde mich immer noch interessieren, ob jemand eine bessere Lösung hat.