簡體   English   中英

如何使用linq to xml檢查xml文件是否包含特定元素

[英]How to check if a xml file contains specific element using linq to xml

在我的XML文件中,我想檢查我的xml文件中是否有設備元素

我嘗試這個代碼,但如果沒有找到設備元素,請給我Null Reference Exception

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

你的代碼應該有效。 我認為你的xml中沒有元素Settings 因此,在嘗試獲取元素之前,只需驗證它是否存在:

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

如果您獲得NRE,那么您的doc.Element("Settings")為空。 您可以在檢查下一個元素之前檢查它。

return doc.Element("Settings") != null && 
       doc.Element("Settings").Elements("Device").Any();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM