2016-07-15 5 views
1

私はLinq xml C#で動作しますが、いくつかの要素がnullの場合、処理例外を修正する方法がわかりません。 たとえば、属性の値を取得する必要がありますが、この属性は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; 
     } 
    } 

多分私はそれを簡単にすることができますか? お返事ありがとうございます。すでにElement("img")後に行ったよう

答えて

1

すでにC#6.0を使用している場合は、null conditional operatorsを使用します。

return element?.Element("div")?.Element("a")?.Element("img")?.GetAttribute("src")?.Value; 
関連する問題