Tengo direcciones de correo electrónico codificadas con entidades de caracteres HTML. ¿Hay algo en .NET que pueda convertirlos en cadenas simples?
397
Puedes usar HttpUtility.HtmlDecode
Si está utilizando .NET 4.0+, también puede usarlo, WebUtility.HtmlDecode
que no requiere una referencia de ensamblaje adicional, ya que está disponible en el System.Net
espacio de nombres.
HttpUtility.UrlDecode
En .Net 4.0:
No es necesario incluir el ensamblaje para un proyecto de C #
fuente
Como dice @CQ, debe usar HttpUtility.HtmlDecode , pero no está disponible en un proyecto que no sea ASP .NET de forma predeterminada.
Para una aplicación que no sea ASP .NET, debe agregar una referencia a
System.Web.dll
. Haga clic derecho en su proyecto en el Explorador de soluciones, seleccione "Agregar referencia", luego busque la listaSystem.Web.dll
.Ahora que se agrega la referencia, debería poder acceder al método utilizando el nombre completo
System.Web.HttpUtility.HtmlDecode
o insertar unausing
declaración paraSystem.Web
facilitar las cosas.fuente
Si no hay contexto de servidor (es decir, se está ejecutando sin conexión), puede usar HttpUtility . HtmlDecode .
fuente
Use
Server.HtmlDecode
para decodificar las entidades HTML. Si desea escapar del HTML, es decir, mostrar el carácter<
y>
al usuario, useServer.HtmlEncode
.fuente
Para decodificar HTML, eche un vistazo debajo del código
La salida es como
fuente
También vale la pena mencionar que si está utilizando HtmlAgilityPack como yo, debería usarlo
HtmlAgilityPack.HtmlEntity.DeEntitize()
. Toma astring
y devuelve astring
.fuente
Escriba un método estático en alguna clase de utilidad, que acepte la cadena como parámetro y devuelva la cadena html decodificada.
Incluye el
using System.Web.HttpUtility
en tu clasefuente
Para .net 4.0
Agregue una referencia al
System.net.dll
proyecto conusing System.Net;
luego use las siguientes extensionesfuente
Para cadenas que contienen & # x20; He tenido que decodificar dos veces la cadena. La primera decodificación la convertiría en la segunda pasada la decodificaría correctamente al carácter esperado.
fuente