0

在我的 XML 文件中,我想检查我的 xml 文件中是否有和设备元素

我试试这段代码,但 Null Reference Exception如果它没有找到设备元素,请给我

public bool HaveAnyDevice()
{
    XDocument doc = XDocument.Load(path);
    return !doc.Element("Settings").Elements("Device").Any();
}
4

2 回答 2

1

您的代码应该可以工作。我认为您的 xml 中没有元素Settings。因此,只需在尝试获取它的元素之前验证它是否存在:

 public bool HaveAnyDevice()
 {
     XDocument doc = XDocument.Load(path);
     var settings = doc.Element("Settings");
     return (settings != null) && settings.Elements("Device").Any();
 }
于 2012-12-24T09:11:28.957 回答
1

如果您正在获得 NRE,那么您的doc.Element("Settings")为空。您可以在检查下一个元素之前检查它。

return doc.Element("Settings") != null && 
       doc.Element("Settings").Elements("Device").Any();
于 2012-12-24T09:13:26.013 回答