Я бы сделал что-то подобное, если бы оно соответствовало XHTML:
System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument();
xDoc.LoadXml(html);
И отредактируйте это так. Если требуется некоторая очистка (преобразование XHtml), вы можете использовать HtmlTidy или Ntidy . Кроме того, вы можете использовать эту HTMLTidy оболочку пример ниже:
string input = "<p>broken html<br <img src=test></div>";
HtmlTidy tidy = new HtmlTidy()
string output = tidy.CleanHtml(input, HtmlTidyOptions.ConvertToXhtml);
XmlDocument doc = new XmlDocument();
doc.LoadXml(output);
Ссылка на StackOverFlow
РЕДАКТИРОВАТЬ выше будет преобразован в XHtml