Versão c # do HTML Tidy?

Estou apenas procurando uma maneira realmente fácil de limpar um pouco de HTML (possivelmente com código JavaScript incorporado). eu tenteidois diferente HTML arrumado As portas .NET e ambas estão lançando exceções ...

Desculpe, por "limpo" quero dizer "recuo". O HTML não está mal formado. EstáXHTML rigoroso.

I finalmente tem algo trabalhando comSGML, mas esse é seriamente o pedaço de código mais ridículo de todos os tempos para recuar um pouco de HTML.

private static string FormatHtml(string input)
{
    var sgml = new SgmlReader {DocType = "HTML", InputStream = new StringReader(input)};
    using (var sw = new StringWriter())
    using (var xw = new XmlTextWriter(sw) { Indentation = 2, Formatting = Formatting.Indented })
    {
        sgml.Read();
        while (!sgml.EOF)
            xw.WriteNode(sgml, true);
    }
    return sw.ToString();
}

questionAnswers(4)

yourAnswerToTheQuestion