LINQ to XML funktioniert auch ganz gut, sofern man vorher die HTML-Besonderheiten entfernt. Je nach Auftreten ändert man per String.Replace alles, worüber der XML-Parser meckert, z.B. ä in ä oder <br> (ohne /) in <br></br>. Danach kann man ein XDocument erstellen, in dem man mit LINQ-Syntax bequem navigieren kann.