Antworten:
Sie können verwenden HttpUtility.HtmlDecode
Wenn Sie .NET 4.0+ verwenden, können Sie auch verwenden, für WebUtility.HtmlDecode
das keine zusätzliche Assemblyreferenz erforderlich ist, da diese im System.Net
Namespace verfügbar ist .
HttpUtility.UrlDecode
In .NET 4.0:
System.Net.WebUtility.HtmlDecode()
Für ein C # -Projekt muss keine Assembly hinzugefügt werden
Wie @CQ sagt, müssen Sie HttpUtility.HtmlDecode verwenden , aber es ist standardmäßig nicht in einem Nicht-ASP .NET-Projekt verfügbar.
Für eine Nicht-ASP .NET-Anwendung müssen Sie einen Verweis auf hinzufügen System.Web.dll
. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt, wählen Sie "Referenz hinzufügen" und durchsuchen Sie die Liste nach System.Web.dll
.
Nachdem die Referenz hinzugefügt wurde, sollten Sie in der Lage sein, unter Verwendung des vollständig qualifizierten Namens auf die Methode zuzugreifen System.Web.HttpUtility.HtmlDecode
oder eine using
Anweisung einzufügen System.Web
, um die Arbeit zu vereinfachen.
Wenn kein Serverkontext vorhanden ist (dh wenn Sie offline ausgeführt werden), können Sie HttpUtility verwenden . HtmlDecode .
Verwenden Sie Server.HtmlDecode
diese Option, um die HTML-Entitäten zu dekodieren. Wenn Sie dem HTML- Code entkommen möchten , dh dem Benutzer das Zeichen <
und anzeigen möchten >
, verwenden Sie Server.HtmlEncode
.
Um HTML zu dekodieren, sehen Sie sich den folgenden Code an
string s = "Svendborg Værft A/S";
string a = HttpUtility.HtmlDecode(s);
Response.Write(a);
Ausgabe ist wie
Svendborg Værft A/S
Es ist auch erwähnenswert, dass Sie HtmlAgilityPack wie ich verwenden sollten, wenn Sie es verwenden HtmlAgilityPack.HtmlEntity.DeEntitize()
. Es dauert a string
und gibt a zurück string
.
Schreiben Sie eine statische Methode in eine Dienstprogrammklasse, die eine Zeichenfolge als Parameter akzeptiert und die dekodierte HTML-Zeichenfolge zurückgibt.
Nehmen Sie das using System.Web.HttpUtility
in Ihre Klasse auf
public static string HtmlEncode(string text)
{
if(text.length > 0){
return HttpUtility.HtmlDecode(text);
}else{
return text;
}
}
Für .net 4.0
Fügen Sie einen Verweis auf System.net.dll
das Projekt hinzu, und verwenden Sie using System.Net;
dann die folgenden Erweiterungen
// 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;
}
}