我正在寻找一些可以解码大量HTML实体的函数。
原因是我正在研究一些代码来获取HTML内容并将其转换为纯文本,我遇到的问题是很多实体使用HttpUtility.HtmlDecode
进行 转换。
我关注的实体的一些例子是& nbsp;,& amp; amp; amp; copy;。
这适用于 .net 3.5 。
答案 0 :(得分:28)
那么也许你需要 HttpUtility .HtmlDecode?。 它应该工作,你只需要添加对System.Web的引用。 至少这是.Net Framework中的方式< 4。
例如以下代码:
MessageBox.Show(HttpUtility.HtmlDecode("&©"));
工作,输出符合预期(&符号和版权符号)。 你确定问题出在HtmlDecode中而不是其他内容吗?
UPDATE:另一个能够完成这项工作的类,WebUtility(再次是HtmlDecode方法)来自更新版本的.Net。但是,它似乎存在一些问题。请参阅HttpUtility vs. WebUtility问题。
答案 1 :(得分:22)
使用.Net 4中包含的WebUtility.HtmlDecode
例如,如果我在控制台应用程序中运行:
Console.WriteLine(WebUtility.HtmlDecode(" , &, ©"));
我得到, &, c