2016-07-15 4 views
1

Я работаю с Linq xml в C#, но я не знаю, как исправить исключение обработки, когда некоторые элементы равны нулю. Например, мне нужно получить некоторое значение атрибута, но этот атрибут может быть нулевым или может быть нулевой частью пути. Мне это нравится:Как исправить ошибки обработки в 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 operators, как вы уже сделали после Element("img"):

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