我有一个xdocument。
XDocument xd = new XDocument();
var xdocument = XDocument.Parse(@"<Values>
<Required>
<DisplayItem>rbProvided</DisplayItem>
<MessageId>38</MessageId>
</Required>
</Values>");
现在,我正在尝试检查是否存在元素,如果不是我需要添加它。这是我正在尝试的代码
if(xd.Descendants().Elements("Monkey") != null)
{ Do this }
它一直告诉我:
Sequence Contains No Elements
如何正确检查现有元素?
答案 0 :(得分:5)
.Elements("Monkey")
返回IEnumerable
,它不为空(因此您的检查失败),但不包含任何元素。
你应该已经完成了
if (xdocument.Descendants.Elements("Monkey").Any())
答案 1 :(得分:0)
检查特定元素,您可以按如下方式编码:
XDocument xd = new XDocument();
var xdocument = XDocument.Parse(@"<Values>
<Required>
<DisplayItem>rbProvided</DisplayItem>
<MessageId>38</MessageId>
</Required>
</Values>");
if(xdocument.Descendants("DisplayItem").Any())
Console.WriteLine("Whatever...");
不要忘记包括:using System.Xml.Linq;
&amp; using System.Linq;