我只是在寻找一种非常简单的方法来清理一些 HTML(可能使用嵌入式 JavaScript 代码)。我尝试 了两个 不同的 HTML Tidy .NET 端口,但都抛出异常……
抱歉,“干净”是指“缩进”。 HTML 根本没有格式错误。它是严格的 XHTML 。
我 终于 得到了一些与 SGML 一起工作的东西,但这真的是缩进一些 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();
}
原文由 mpen 发布,翻译遵循 CC BY-SA 4.0 许可协议
HTML Tidy 的最新 C# 包装器是由 Mark Beaton 完成的,它似乎比您引用的链接 (2003) 更新。还值得注意的是,Mark 也提供了可执行文件供参考,而不是从官方站点提取它们。这应该可以很好地组织和验证您的 HTML 。