没有System.Web的C#HTMLDecode可能吗?

时间:2009-04-02 21:20:14

标签: c# html-encode

我知道System.Web命名空间中有不同的方法用于解码html实体(例如“%20”表示空格)。我正在构建一个Winforms应用程序,但需要处理html编码的字符串。基本上我有iTunes Library XML文件,需要解码那里的URL来检查文件。

如果没有System.Web命名空间,这可能吗?

7 个答案:

答案 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中)完成。

来自http://blogs.msdn.com/b/jgoldb/archive/2010/04/12/what-s-new-in-net-framework-4-client-profile-rtm.aspx

答案 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.UrlDecodeHttpUtility.HtmlDecode