【问题标题】:Need tool to format html (indent, add whitespace)需要工具来格式化 html(缩进,添加空格)
【发布时间】:2010-01-31 15:18:10
【问题描述】:

我正在开发一个生成 html 的 .net 项目。

生成 html 字符串时,没有空格或缩进。这使得理解生成的 html 变得困难。

是否有工具可以获取我生成的 html 字符串并对其进行格式化以使其看起来不错?

【问题讨论】:

  • 生成 html 的内容是什么? HtmlTextWriter 是一个选项吗?
  • 您是指自动工具还是手动工具?

标签: c# .net html formatting indentation


【解决方案1】:

如果您自己生成 HTML,它应该是有效的 XML。

因此,您可以使用XDocument 类对其进行格式化。

您可以在 XDocument 中构建 HTML,然后调用 ToString(),它会自动为您格式化 HTML。

此外,XDocument 应该比手动字符串连接更易于使用,并且可以从本质上保护您免受大多数(但不是全部)XSS 攻击。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 救了我的命,几个小时以来一直在寻找这样的东西!
    【解决方案3】:

    您可能有兴趣看看 Tidy,http://tidy.sourceforge.net/

    【讨论】:

      【解决方案4】:

      您可以使用 HTMLTextWriter 并调用 HTMLTextWriter.Indent 来设置行的缩进。

      【讨论】:

        【解决方案5】:

        使用https://github.com/AngleSharp/AngleSharp

        var parser = new HtmlParser();
        var document = parser.Parse(html);
        
        using (var writer = new StringWriter())
        {
            document.ToHtml(writer, new PrettyMarkupFormatter());
            return writer.ToString();
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-04-04
          • 2011-05-17
          • 1970-01-01
          • 2012-04-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多