The SgmlReader NuGet package for #dotnet is a less known but great alternative to AngleSharp or HtmlAgilityPack if you need to parse HTML. It converts (almost) any HTML to valid XML that you can then query or manipulate with the well-known XmlDocument class.
https://www.nuget.org/packages/Microsoft.Xml.SgmlReader/
I just released a new version of #dotnet