Linq Sequence不包含任何元素

Did*_*hat -2 c# linq linq-to-xml

我有一个xdocument.

XDocument xd = new XDocument();
var xdocument = XDocument.Parse(@"<Values>
                                <Required>
                                    <DisplayItem>rbProvided</DisplayItem>
                                    <MessageId>38</MessageId>
                                </Required>
                              </Values>");
Run Code Online (Sandbox Code Playgroud)

现在,我试图检查一个元素是否存在于此,如果不是我需要添加它.这是我正在尝试的代码

if(xd.Descendants().Elements("Monkey") != null)
  { Do this }
Run Code Online (Sandbox Code Playgroud)

它一直告诉我:

 Sequence Contains No Elements
Run Code Online (Sandbox Code Playgroud)

如何正确检查现有元素?

GSe*_*erg 5

.Elements("Monkey")返回一个IEnumerable非null(因此检查失败),但不包含任何元素.

你应该做的

if (xdocument.Descendants.Elements("Monkey").Any())
Run Code Online (Sandbox Code Playgroud)