代码之家  ›  专栏  ›  技术社区  ›  Thangamani Palanisamy

将HTML标记转换为实体引用时,字符文字中的字符太多

  •  0
  • Thangamani Palanisamy  · 技术社区  · 11 年前

    我已经通过C#代码生成了一个HTML标记。我能够在文本区域中正确渲染。当我在谷歌上搜索时,我发现 this 。要在文本区域中呈现HTML标记,我们需要转换'<','>'转换为HTML实体引用。但当我试图取代使用 String.Replace ,它抛出一个错误: 字符文字中的字符太多 .

    string psHtmlOutput="<html><body><table border='0' cellspacing='3' cellpadding='3'><tr><th> Name </th><th>DomainName</th><th>DomainType</th><th>Defualt</th></tr><tr><td>india.local</td><td>india.local</td><td>Authoritative</td><td>True</td></tr></table></body></html>";
    
    psHtmlOutput.Replace('>','&gt;');
    psHtmlOutput.Replace('<','&lt;');
    

    错误:字符文字中的字符太多

    请帮忙;我该如何继续?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Sam    11 年前

    这个 String.Replace 方法有两个重载:

    1. 操作的 String s
    2. 操作的 Char s

    在C#中,使用单引号来指定 烧焦 文字。因为您使用了单引号,所以已经使用了该方法的第二个重载。然而,您的第二个参数不是有效的字符文字,因为 &gt; 不是单个字符。

    因此,如果您真的想用字符串替换字符,只需使用带字符串的重载即可:

    psHtmlOutput.Replace(">", "&gt;");
    psHtmlOutput.Replace("<", "&lt;");