我如何解码C#中的HTML字符?

我有用HTML字符实体编码的电子邮件地址。 .NET中有什么可以将它们转换为纯string吗?

你可以使用HttpUtility.HtmlDecode

如果您正在使用.NET 4.0 +,则还可以使用WebUtility.HtmlDecode ,因为它在System.Net命名空间中可用,所以不需要额外的程序集引用。

在.Net 4.0上:

 System.Net.WebUtility.HtmlDecode() 

不需要包含C#项目的程序集

正如@CQ所说,你需要使用HttpUtility.HtmlDecode ,但是它在默认情况下不能在非ASP的.NET项目中使用。

对于非ASP .NET应用程序,您需要添加对System.Web.dll的引用。 在解决scheme资源pipe理器中右键单击您的项目,select“添加引用”,然后浏览System.Web.dll的列表。

现在添加了引用,您应该能够使用完全限定的名称System.Web.HttpUtility.HtmlDecode来访问该方法,或者为System.Web插入using语句以使事情更轻松。

如果没有服务器上下文(即离线运行),则可以使用HttpUtility 。 HtmlDecode 。

使用Server.HtmlDecode解码HTML实体。 如果你想逃避 HTML,即显示<>字符给用户,使用Server.HtmlEncode

还值得一提的是,如果您像使用HtmlAgilityPack那样使用HtmlAgilityPack.HtmlEntity.DeEntitize() 。 它接受一个string并返回一个string

要解码HTML,请看下面的代码

 string s = "Svendborg V&#230;rft A/S"; string a = HttpUtility.HtmlDecode(s).ToString(); Response.Write(a); 

输出就像

  Svendborg Værft A/S