我如何解码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ærft A/S"; string a = HttpUtility.HtmlDecode(s).ToString(); Response.Write(a);
输出就像
Svendborg Værft A/S