Descifrando todas las entidades HTML

Estoy buscando alguna función que decodifique una buena cantidad de entidades HTML.

La razón es que estoy trabajando en algún código para tomar contenido HTML y convertirlo en texto sin formato, el problema que tengo es que muchas entidades no se convierten usando HttpUtility.HtmlDecode .

Algunos ejemplos de entidades que me preocupan son & nbsp ;, & amp ;, & copy ;.

Esto es para .net 3.5 .

Entonces quizás necesites el HttpUtility .HtmlDecode ?. Debería funcionar, solo necesita agregar una referencia a System.Web. Al menos esta era la forma en .Net Framework <4.

Por ejemplo, el siguiente código:

 MessageBox.Show(HttpUtility.HtmlDecode("&©")); 

Funcionó y el resultado fue el esperado (símbolo de ampersand y copyright). ¿Estás seguro de que el problema está dentro de HtmlDecode y no de algo más?

ACTUALIZACIÓN: Otra clase capaz de hacer el trabajo, WebUtility (de nuevo el método HtmlDecode) vino en las versiones más nuevas de .Net. Sin embargo, parece haber algunos problemas con eso. Consulte la pregunta HttpUtility vs. WebUtility .

Use WebUtility.HtmlDecode incluido en .Net 4

Por ejemplo, si ejecuto en una aplicación de consola:

  Console.WriteLine(WebUtility.HtmlDecode(" , &, ©")); 

Me sale , &, c