C# 如何使用linq to xml检查xml文件是否包含特定元素
在我的XML文件中,我想检查我的XML文件中是否有和设备元素 我尝试使用此代码,但如果未找到设备元素,则会给出C# 如何使用linq to xml检查xml文件是否包含特定元素,c#,xml,exception,linq-to-xml,C#,Xml,Exception,Linq To Xml,在我的XML文件中,我想检查我的XML文件中是否有和设备元素 我尝试使用此代码,但如果未找到设备元素,则会给出空引用异常 public bool HaveAnyDevice() { XDocument doc = XDocument.Load(path); return !doc.Element("Settings").Elements("Device").Any(); } 你的代码应该可以工作。我认为xml中没有元素设置。因此,在尝试获取其元素之前,只需验证它是否存在: p
空引用异常
public bool HaveAnyDevice()
{
XDocument doc = XDocument.Load(path);
return !doc.Element("Settings").Elements("Device").Any();
}
你的代码应该可以工作。我认为xml中没有元素
设置。因此,在尝试获取其元素之前,只需验证它是否存在:
public bool HaveAnyDevice()
{
XDocument doc = XDocument.Load(path);
var settings = doc.Element("Settings");
return (settings != null) && settings.Elements("Device").Any();
}
如果您正在获取NRE,则您的doc.Element(“设置”)
为空。您可以在检查下一个元素之前检查它
return doc.Element("Settings") != null &&
doc.Element("Settings").Elements("Device").Any();