解码所有HTML实体

我正在寻找一些能够解码大量HTML实体的函数。

原因是我正在研究一些代码来获取HTML内容并将其转换为纯文本,我遇到的问题是很多实体都没有使用HttpUtility.HtmlDecode转换。

我关注的实体的一些例子是&,&,©。

这是针对.net 3.5的

那么也许你需要HttpUtility .HtmlDecode?。 它应该工作,你只需要添加对System.Web的引用。 至少这是.Net Framework <4的方式。

例如,以下代码:

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

工作和输出符合预期(&符号和版权符号)。 你确定问题出在HtmlDecode中而不是其他内容吗?

更新:另一个能够完成工作的类,WebUtility(再次是HtmlDecode方法)来自更新版本的.Net。 但是,它似乎存在一些问题。 请参阅HttpUtility与WebUtility问题。

使用.Net 4中包含的WebUtility.HtmlDecode

例如,如果我在控制台应用程序中运行:

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

我得到了, &, c