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

我知道System.Web命名空间中有不同的方法来解码html实体(比如“%20”为空格)。 我正在构build一个Winforms应用程序,但是需要处理html编码的string。 基本上我有iTunes图书馆XML文件,并需要解码在那里的URL来检查文件。

这可能没有System.Web命名空间?

开发人员需要在其客户端应用程序中使用System.Web.HttpUtility,并且必须引用System.Web.dll并因此将目标版本为NET4(System.Web.dll处于Full状态),才能使用新的System.dll中的System.Net.WebUtility类(System.dll在NET4 Client Profile中)。 System.Net.WebUtility包含HtmlEncode和HtmlDecode。 Url编码可以使用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

仅仅因为你正在编写一个Windows Forms应用程序并不能阻止你使用System.Web 。 只需添加一个对System.Web.dll的引用。

你可以使用System.Net.WebUtility.HtmlDecode

将HTML传输的string转换为解码后的string。

看到这篇文章,如果你仍然好奇没有System.Web如何做到这一点。 它提供了一个URI解码的解决scheme(这实际上就是你正在解码的东西,而不是像“ – ”这样的HTML实体)

要使用.NET框架中的方法,您必须使用System.Web命名空间来获取HtmlDecode方法。

是的,你可以写自己的方法来做到这一点,但这不会有很大的意义。

只需添加对system.web的引用。

mybe它可以帮助winforms:

 System.Uri.EscapeUriString(plainText); 

你可以使用HttpUtility.UrlDecodeHttpUtility.HtmlDecode