Слишком много символов в символьном литерале при преобразовании тега HTML в ссылку на сущность

0

Я создал HTML-тег через код С#. Я могу сделать правильно в текстовой области. Когда я нашел это в Google, я нашел это. Чтобы визуализировать HTML-теги в текстовой области, нам нужно преобразовать ссылки "<", ">" в HTML-сущности. Но когда я пытаюсь заменить using 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;');

Ошибка: слишком много символов в символе

Пожалуйста помоги; как я могу продолжить?

Теги:
string
c#-4.0

1 ответ

1
Лучший ответ

Метод String.Replace имеет две перегрузки:

  1. Один, который работает с String s.
  2. Один, который действует на Char s.

В С# одинарные кавычки используются для указания литералов Char. Поскольку вы использовали одинарные кавычки, была использована вторая перегрузка метода. Однако ваш второй аргумент не является допустимым символьным литералом, потому что &gt; не является одним символом.

Поэтому, если вы действительно хотите заменить символ строкой, просто используйте перегрузку, которая принимает строки:

psHtmlOutput.Replace(">", "&gt;");
psHtmlOutput.Replace("<", "&lt;");
  • 0
    Благодарю. Я попробовал конвертировать сейчас. Но я не могу правильно отрисовать в Textarea. Это просто сделать так. Можете предоставить информацию, как это сделать.
  • 0
    Я думаю, вы должны опубликовать это как отдельный вопрос. Обязательно объясните, как вы помещаете текст в <textarea> и какие библиотеки / фреймворки вы используете для генерации HTML.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню