Розглянемо такий 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>
Я шукаю дійсно короткий спосіб отримати лише значення <hash>
елемента. Я намагався:
var hash = xml.Element("hash").Value;
Але це не працює. Чи можна надати запит XPath до XElement
? Я можу це зробити зі старішим System.Xml
фреймворком, роблячи щось на зразок:
xml.Node("/response/data/hash").Value
Чи є щось подібне у просторі імен LINQ?
ОНОВЛЕННЯ:
Після мавпування з цим ще трохи, я знайшов спосіб зробити те, що я намагаюся зробити:
var hash = xml.Descendants("hash").FirstOrDefault().Value;
Мені все одно буде цікаво побачити, чи хтось має краще рішення?