47

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

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

4

7 回答 7

96

需要在其客户端应用程序中使用 System.Web.HttpUtility 并且必须引用 System.Web.dll 并因此以 NET4 full(System.Web.dll is in Full)为目标的开发人员,现在可以使用新的以 NET4 Client Profile 为目标System.Net.WebUtility 类位于 System.dll 中(System.dll 位于 NET4 客户端配置文件中)。System.Net.WebUtility 包括 HtmlEncode 和 HtmlDecode。可以使用 System.Uri 类(也在 System.dll 中)完成 URL 编码。

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

于 2012-01-03T14:47:37.070 回答
28

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

将已为 HTTP 传输进行 HTML 编码的字符串转换为已解码的字符串。

于 2012-07-24T09:50:29.480 回答
24

仅仅因为您正在编写 Windows 窗体应用程序并不会阻止您使用System.Web. 只需添加对System.Web.dll.

于 2009-04-02T21:22:14.947 回答
8

如果您仍然想知道如何在没有 System.Web 的情况下执行此操作,请参阅这篇文章。它为 URI 解码提供了一种解决方案(这实际上是您正在解码的内容,而不是类似于 "&emdash;" 的 HTML 实体)

于 2009-06-02T05:14:26.840 回答
0

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

是的,您可以编写自己的方法来执行此操作,但这没有多大意义。

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

于 2009-04-02T21:22:30.983 回答
0

mybe 它可以在 winforms 中提供帮助:

System.Uri.EscapeUriString(plainText);
于 2016-08-29T14:51:15.313 回答
-1

您可以使用HttpUtility.UrlDecodeHttpUtility.HtmlDecode

于 2009-11-22T06:19:13.977 回答