在我的XML文件中,我想检查我的xml文件中是否有设备元素
我尝试使用此代码,但如果找不到设备元素,则会给我Null Reference Exception
public bool HaveAnyDevice()
{
XDocument doc = XDocument.Load(path);
return !doc.Element("Settings").Elements("Device").Any();
}
答案 0 :(得分:1)
您的代码应该有效。我认为你的xml中没有元素Settings
。因此,在尝试获取元素之前,只需验证它是否存在:
public bool HaveAnyDevice()
{
XDocument doc = XDocument.Load(path);
var settings = doc.Element("Settings");
return (settings != null) && settings.Elements("Device").Any();
}
答案 1 :(得分:1)
如果您获得NRE,则doc.Element("Settings")
为空。您可以在检查下一个元素之前检查它。
return doc.Element("Settings") != null &&
doc.Element("Settings").Elements("Device").Any();