我知道System.Web命名空间中有不同的方法用于解码html实体(例如“%20”表示空格)。我正在构建一个Winforms应用程序,但需要处理html编码的字符串。基本上我有iTunes Library XML文件,需要解码那里的URL来检查文件。
如果没有System.Web命名空间,这可能吗?
答案 0 :(得分:94)
需要在客户端应用中使用System.Web.HttpUtility并且必须引用System.Web.dll并因此定位NET4的开发人员 已满(System.Web.dll已满),现在可以定位到NET4客户端 使用新的System.Net.WebUtility类进行配置文件 System.dll(System.dll在NET4客户端配置文件中)。 System.Net.WebUtility包括HtmlEncode和HtmlDecode。网址编码 可以使用System.Uri类(也在System.dll中)完成。
答案 1 :(得分:25)
您可以使用System.Net.WebUtility.HtmlDecode
:
将已经过HTML编码的HTTP传输字符串转换为已解码的字符串。
答案 2 :(得分:24)
仅仅因为您正在编写Windows窗体应用程序并不会阻止您使用System.Web
。只需添加对System.Web.dll
的引用。
答案 3 :(得分:7)
如果您仍然好奇如何在没有System.Web的情况下执行此操作,请参阅this article。它为URI解码提供了一种解决方案(实际上你正在解码它,而不是类似于“& emdash;”的HTML实体)
答案 4 :(得分:0)
要使用.NET框架中的方法,必须使用System.Web命名空间来获取HtmlDecode方法。
是的,你可以编写自己的方法来做到这一点,但这没有多大意义。
只需添加对system.web的引用。
答案 5 :(得分:0)
mybe它可以帮助winforms:
System.Uri.EscapeUriString(plainText);
答案 6 :(得分:-1)
您可以使用HttpUtility.UrlDecode
或HttpUtility.HtmlDecode