如何检查每个元素是否存在

时间:2012-05-08 06:29:57

标签: c# xml c#-4.0 .net-4.0

我想知道如何检查每个元素是否存在 我写了下面的代码,但我认为这不是很聪明。

if(xmlDoc.Descendants("ElementA").Any() && xmlDoc.Descendants("ElementB").Any() && ....

1 个答案:

答案 0 :(得分:2)

你可以这样做:

if (new[] {"ElementA", "ElementB", "ElementC"}
           .All(element => xmlDoc.Descendants(element).Any()))
{
}

如果可以,我建议保存一名成员:

private static readonly string[] ELEMENTS = new string[]
                                                {
                                                    "ElementA",
                                                    "ElementB",
                                                    "ElementC"
                                                };

而不是每次都重新创建它。然后你可以这样做:

if (ELEMENTS.All(element => xmlDoc.Descendants(element).Any()))
{
}