解码所有HTML实体

Mat*_*hew 22 c# asp.net html-entities

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

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

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

这是针对.net 3.5的.

Pav*_*hev 30

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

例如,以下代码:

MessageBox.Show(HttpUtility.HtmlDecode("&amp;&copy;"));
Run Code Online (Sandbox Code Playgroud)

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

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


Joh*_*ibb 23

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

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

  Console.WriteLine(WebUtility.HtmlDecode("&nbsp;, &amp;, &copy;"));
Run Code Online (Sandbox Code Playgroud)

我明白了 , &, c