在将 HTML 字符串发送到客户端之前格式化 HTML 字符串的 C# 工具[关闭]

Posted

技术标签:

【中文标题】在将 HTML 字符串发送到客户端之前格式化 HTML 字符串的 C# 工具[关闭]【英文标题】:C# tool that formats an HTML string before sending it to the client [closed] 【发布时间】:2016-08-20 08:21:39 【问题描述】:

是否有一个 c# 工具可以获取使用 StringBuilder 创建的大量 html 字符串并在将其传递给客户端之前对其进行格式化?

如果有一个工具可以在将 HTML 发送到客户端之前删除所有空白并最小化 HTML,那也很酷。

【问题讨论】:

【参考方案1】:

是的,您可以使用

Web Markup Minifier: Core

要了解如何操作,您可以查看此link

here 上还有其他 nuget 包用于相同目的

using System;
using System.Collections.Generic;

using WebMarkupMin.Core;

namespace WebMarkupMin.Sample.ConsoleApplication

    class Program
    
        static void Main(string[] args)
        
    const string htmlInput = @"<!DOCTYPE html>
                                <html>
                                    <head>
                                        <meta charset=""utf-8"" />
                                        <title>The test document</title>
                                        <link href=""favicon.ico"" rel=""shortcut icon"" type=""image/x-icon"" />
                                        <meta name=""viewport"" content=""width=device-width"" />
                                        <link rel=""stylesheet"" type=""text/css"" href=""/Content/Site.css"" />
                                    </head>
                                    <body>
                                        <p>Lorem ipsum dolor sit amet...</p>

                                        <script src=""http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js""></script>
                                        <script>
                                            (window.jquery) || document.write('<script src=""/Scripts/jquery-1.9.1.min.js""><\/script>');
                                        </script>
                                    </body>
                                </html>";

            var htmlMinifier = new HtmlMinifier();

            MarkupMinificationResult result = htmlMinifier.Minify(htmlInput,
                generateStatistics: true);
            if (result.Errors.Count == 0)
            
                MinificationStatistics statistics = result.Statistics;
                if (statistics != null)
                
                    Console.WriteLine("Original size: 0:N0 Bytes",
                        statistics.OriginalSize);
                    Console.WriteLine("Minified size: 0:N0 Bytes",
                        statistics.MinifiedSize);
                    Console.WriteLine("Saved: 0:N2%",
                        statistics.SavedInPercent);
                
                Console.WriteLine("Minified content:001",
                    Environment.NewLine, result.MinifiedContent);
            
            else
            
                IList<MinificationErrorInfo> errors = result.Errors;

                Console.WriteLine("Found 0:N0 error(s):", errors.Count);
                Console.WriteLine();

                foreach (var error in errors)
                
                    Console.WriteLine("Line 0, Column 1: 2",
                        error.LineNumber, error.ColumnNumber, error.Message);
                    Console.WriteLine();
                
            
            Console.ReadLine();
        
    

【讨论】:

不要回答off topic questions。它只是鼓励更多的人提出离题的问题。 你知道哪个 NuGet 包是这个库的包吗?我试过 TidyNetPortable,但似乎不是。 在我使用它的时候,我将它用作 dll 而不是 nuget 包,因此您可以使用 Web Markup Minifier: Core,并且我也在根据这个编辑答案

以上是关于在将 HTML 字符串发送到客户端之前格式化 HTML 字符串的 C# 工具[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在将图像发送到服务器之前上传并裁剪图像[关闭]

在将电子邮件发送到 Outlook 中的外部域之前发出警告

在将 html 字符串加载到 UIWebview 之前,如何计算它的高度?

在将发送到电子邮件的 html 中添加 css

Solr学习笔记之添加文档

在将套接字与端点绑定之前如何找到可用端口?