Декодирование всех объектов HTML
Я ищу некоторую функцию, которая будет декодировать большое количество объектов HTML.
Причина заключается в том, что я работаю над некоторым кодом для получения содержимого HTML и превращения его в простой текст, проблема, которую у меня есть, заключается в том, что многие объекты не преобразуются с помощью HttpUtility.HtmlDecode
.
Некоторые примеры объектов, которые меня беспокоят, - это , & amp;, & copy;.
Это для .net 3.5.
Ответы
Ответ 1
Тогда, возможно, вам понадобится HttpUtility.HtmlDecode?.
Он должен работать, вам просто нужно добавить ссылку на System.Web.
По крайней мере, так было в .Net Framework < 4.
Например, следующий код:
MessageBox.Show(HttpUtility.HtmlDecode("&©"));
Работала, и результат был как ожидалось (символ амперсанда и авторского права).
Вы уверены, что проблема в HtmlDecode, а не что-то еще?
ОБНОВЛЕНИЕ: Другой класс, способный выполнять задание, WebUtility (опять-таки метод HtmlDecode) появился в более новых версиях .Net. Однако, похоже, с ним некоторые проблемы. См. Вопрос HttpUtility vs. WebUtility.
Ответ 2
Используйте WebUtility.HtmlDecode
, включенный в .Net 4
Например, если я запускаю консольное приложение:
Console.WriteLine(WebUtility.HtmlDecode(" , &, ©"));
Я получаю , &, c