2016-07-15 12 views
1

我在C#中使用Linq xml,但我不知道如何糾正處理異常,當某些元素爲空時。 例如,我需要獲取一些屬性值,但是此屬性可以爲null,或者可以爲null的某個部分路徑。我這樣做:如何糾正linqXml中的處理異常?

public static string GetImage(this HtmlNode element) 
    { 
     var result = ""; 
     try 
     { 
      return result = element.Element("div").Element("a").Element("img")?.GetAttribute("src").Value; 
     } 
     catch (Exception) 
     { 
      return result; 
     } 
    } 

也許我可以做到這一點容易嗎? 感謝您的回答。

回答

1

如果你已經使用C#6.0,然後使用null conditional operatorsElement("img")後已經做了:

return element?.Element("div")?.Element("a")?.Element("img")?.GetAttribute("src")?.Value;