删除HTML字符串中的缩进和格式

本文关键字:缩进 格式 HTML 字符串 删除 | 更新日期: 2023-09-27 18:15:04

我使用下面的代码片段来获取控件的html字符串。这个响应有很多格式化字符,比如'n、't、'r,用于缩进html。如何在不影响控件内实际文本格式的情况下删除此内容?

public static string RenderControl( Control control )
{           
            string renderedString;
            using ( TextWriter writer = new StringWriter( ) )
            {
                control.RenderControl( new HtmlTextWriter( writer ) );
                renderedString = writer.ToString( );
            }                   
            return renderedString;
}

For ex-

如果我看到一个表控件的响应,它看起来像-

<table>'r'n't't<tr>'r'n't't         
<td>abc'r'n def</td>...</table>

我需要的输出是-

<table><tr>         
<td>abc'r'n def</td>...</table>

删除HTML字符串中的缩进和格式

如果生成的标记与xml兼容,则可以使用XmlReader甚至XmlDocument实例解析结果,并使用XmlWriter重写标记,但设置XmlWriterSettings以删除所有不必要的空白。

下面描述了另一种(可能更简单的)策略:

在XML(和HTML)中,只有单个空白字符是重要的,因此您可以通过将生成的标记放入删除所有相邻空白字符的正则表达式替换(即将"'s's+"替换为"-"'s"是任何空白字符的. net Regex符号)来快速简便地进行修复。