Respostas:
Você pode usar HttpUtility.HtmlDecode
Se você estiver usando o .NET 4.0+, também poderá usar o WebUtility.HtmlDecode
que não requer uma referência de montagem extra, pois está disponível no System.Net
espaço para nome.
HttpUtility.UrlDecode
No .Net 4.0:
System.Net.WebUtility.HtmlDecode()
Não há necessidade de incluir montagem para um projeto C #
Como o @CQ diz, você precisa usar o HttpUtility.HtmlDecode , mas por padrão não está disponível em um projeto .NET não-ASP.
Para um aplicativo .NET não ASP, você precisa adicionar uma referência a System.Web.dll
. Clique com o botão direito do mouse no seu projeto no Gerenciador de Soluções, selecione "Adicionar Referência" e procure a lista System.Web.dll
.
Agora que a referência foi adicionada, você poderá acessar o método usando o nome completo System.Web.HttpUtility.HtmlDecode
ou inserir uma using
instrução para System.Web
facilitar as coisas.
Se não houver contexto do servidor (ou seja, sua execução offline), você pode usar o HttpUtility . HtmlDecode .
Use Server.HtmlDecode
para decodificar as entidades HTML. Se você quiser escapar do HTML, ou seja, exibir o caractere <
e >
para o usuário, use Server.HtmlEncode
.
Para decodificar HTML, veja o código abaixo
string s = "Svendborg Værft A/S";
string a = HttpUtility.HtmlDecode(s);
Response.Write(a);
Saída é como
Svendborg Værft A/S
Também vale a pena mencionar que, se você estiver usando o HtmlAgilityPack como eu, deveria usá-lo HtmlAgilityPack.HtmlEntity.DeEntitize()
. É preciso a string
e retorna a string
.
Escreva um método estático em alguma classe de utilitário, que aceita string como parâmetro e retorna a string html decodificada.
Inclua o conteúdo using System.Web.HttpUtility
em sua classe
public static string HtmlEncode(string text)
{
if(text.length > 0){
return HttpUtility.HtmlDecode(text);
}else{
return text;
}
}
Para .net 4.0
Adicione uma referência ao System.net.dll
projeto using System.Net;
e use as seguintes extensões
// Html encode/decode
public static string HtmDecode(this string htmlEncodedString)
{
if(htmlEncodedString.Length > 0)
{
return System.Net.WebUtility.HtmlDecode(htmlEncodedString);
}
else
{
return htmlEncodedString;
}
}
public static string HtmEncode(this string htmlDecodedString)
{
if(htmlDecodedString.Length > 0)
{
return System.Net.WebUtility.HtmlEncode(htmlDecodedString);
}
else
{
return htmlDecodedString;
}
}