私は新しいLINQ to XMLの世界です。私はIdentity
の値を取得しようとしていますが、domain
の属性がCredential
の場合にのみ "NetworkID"です。XDocument Traversal
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クエリwil私はnull
に.Descendants()
を呼び出しているのでエラーが発生します。
どちらの要素も見つからない場合は、Identity
またはnull
を返すようにクエリを記述できますか?