С# HTMLDecode без System.Web?

Я знаю, что существуют различные методы в пространстве имен System.Web для декодирования html-объектов (например, "%20" для пробела). Однако я создаю приложение Winforms, но мне нужно иметь дело с html-закодированными строками. В основном у меня есть XML файл iTunes Library и вам нужно расшифровать URL-адреса там, чтобы проверить файлы.

Возможно ли это без пространства имен System.Web?

+43
02 апр. '09 в 21:20
источник поделиться
7 ответов

Разработчики, которым необходимо использовать System.Web.HttpUtility в своих клиентских приложениях и должны были ссылаться на System.Web.dll и, следовательно, на целевые NET4 full (System.Web.dll в полном объеме), теперь можно настроить таргетинг на NET4 Client Профиль с помощью нового класса System.Net.WebUtility, который находится в System.dll(System.dll находится в профиле клиента NET4). System.Net.WebUtility включает HtmlEncode и HtmlDecode. Кодировка URL может быть выполнено с использованием класса System.Uri(также в System.dll).

Из http://blogs.msdn.com/b/jgoldb/archive/2010/04/12/what-s-new-in-net-framework-4-client-profile-rtm.aspx

+90
03 янв. '12 в 14:47
источник

Просто потому, что вы пишете приложение Windows Forms, это не мешает вам использовать System.Web. Просто добавьте ссылку на System.Web.dll.

+25
02 апр. '09 в 21:22
источник

Вы можете использовать System.Net.WebUtility.HtmlDecode:

Преобразует строку, которая была закодирована в HTML для передачи HTTP в декодированную строку.

+22
24 июл. '12 в 9:50
источник

Смотрите эту статью, если вам все еще интересно, как это сделать без System.Web. Он предлагает решение для декодирования URI (это действительно то, что вы декодируете, а не объекты HTML, которые похожи на "& emdash;" )

+7
02 июн. '09 в 5:14
источник

Чтобы использовать методы, которые находятся в платформе .NET, вы должны использовать пространство имен System.Web для получения метода HtmlDecode.

Да, вы могли бы написать свой собственный метод, чтобы сделать это, но это не будет иметь большого смысла.

Просто добавьте ссылку на system.web.

+1
02 апр. '09 в 21:22
источник

mybe это может помочь в winforms:

System.Uri.EscapeUriString(plainText);
0
29 авг. '16 в 14:51
источник

Вы можете использовать HttpUtility.UrlDecode или HttpUtility.HtmlDecode

-2
22 нояб. '09 в 6:19
источник

Посмотрите другие вопросы по меткам или Задайте вопрос