Я новичок в мире LINQ to XML.Я пытаюсь получить значение Identity
, но только когда атрибут domain
для Credential
равен "NetworkID".Вот код, с которым я тестирую:
Фрагмент XML:
<Sender>
<Credential domain="NetworkID">
<Identity>MyIdentity</Identity>
<SharedSecret>MySharedSecret</SharedSecret>
</Credential>
<UserAgent>MyUserAgent</UserAgent>
</Sender>
C #:
var credential = xdoc.Descendants("Sender")
.Elements("Credential")
.Where(x => x.Attribute("domain").Value == "NetworkID").FirstOrDefault()
.Descendants("Identity").FirstOrDefault();
Вопрос:
Очевидно, что если узел Credential
не найден, запрос LINQ выдаст ошибку, потому что я звоню .Descendants()
на null
.
Можно ли написать запрос так, чтобы он возвращал Identity
или null
, если какой-либо элемент не найден?