如何纠正linqXml中的处理异常?

时间:2016-07-15 13:17:16

标签: c# linq linq-to-xml

我在C#中使用Linq xml,但是当一些元素为null时,我不知道如何纠正处理异常。 例如,我需要获取一些属性值,但是此属性可以为null,或者可以为路径的某些部分。我喜欢这个:

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 个答案:

答案 0 :(得分:1)

如果您已经在使用C#6.0,那么就像Element("img")之后使用null conditional operators一样:

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