解码所有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