Check if a string has HTML in C#
I've had to do this exact thing before, your way is absolutely fine but I went for the other way round - checking if it was all text:

private static bool HtmlIsJustText(HtmlNode rootNode)
{
    return rootNode.Descendants().All(n =&gt; n.NodeType == HtmlNodeType.Text);
}


Then you have your public method as:

public static bool ContainsHTMLElements(string text)
{
    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(text);
    return !HtmlIsJustText(doc.DocumentNode);
}


I think that makes the code slightly more concise.



I'd argue that your class should really be called HtmlUtility as per guidelines 


  The PascalCasing convention, used for all identifiers except parameter names, capitalizes the first character of each word (including acronyms over two letters in length), as shown in the following examples:
  
  
  PropertyDescriptor
  HtmlTag