Réponses:
Vous pouvez utiliser HttpUtility.HtmlDecode
Si vous utilisez .NET 4.0+, vous pouvez également utiliser WebUtility.HtmlDecode
ce qui ne nécessite pas de référence d'assembly supplémentaire car il est disponible dans l' System.Net
espace de noms.
HttpUtility.UrlDecode
Sur .Net 4.0:
System.Net.WebUtility.HtmlDecode()
Pas besoin d'inclure l'assemblage pour un projet C #
Comme le dit @CQ, vous devez utiliser HttpUtility.HtmlDecode , mais il n'est pas disponible par défaut dans un projet .NET non ASP.
Pour une application .NET non ASP, vous devez ajouter une référence à System.Web.dll
. Cliquez avec le bouton droit sur votre projet dans l'Explorateur de solutions, sélectionnez "Ajouter une référence", puis parcourez la liste pour System.Web.dll
.
Maintenant que la référence est ajoutée, vous devriez pouvoir accéder à la méthode en utilisant le nom complet System.Web.HttpUtility.HtmlDecode
ou insérer une using
instruction pour System.Web
faciliter les choses.
S'il n'y a pas de contexte de serveur (c'est-à-dire votre fonctionnement hors ligne), vous pouvez utiliser HttpUtility . HtmlDecode .
Utilisez Server.HtmlDecode
pour décoder les entités HTML. Si vous voulez échapper au HTML, c'est-à-dire afficher le caractère <
et >
à l'utilisateur, utilisez Server.HtmlEncode
.
Pour décoder le HTML, regardez ci-dessous le code
string s = "Svendborg Værft A/S";
string a = HttpUtility.HtmlDecode(s);
Response.Write(a);
La sortie est comme
Svendborg Værft A/S
Il convient également de mentionner que si vous utilisez HtmlAgilityPack comme je l'étais, vous devez utiliser HtmlAgilityPack.HtmlEntity.DeEntitize()
. Il prend un string
et retourne un string
.
Écrivez une méthode statique dans une classe utilitaire, qui accepte la chaîne comme paramètre et renvoie la chaîne html décodée.
Incluez le using System.Web.HttpUtility
dans votre classe
public static string HtmlEncode(string text)
{
if(text.length > 0){
return HttpUtility.HtmlDecode(text);
}else{
return text;
}
}
Pour .net 4.0
Ajoutez une référence au System.net.dll
projet avec using System.Net;
puis utilisez les extensions suivantes
// 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;
}
}