我知道 System.Web 命名空间中有不同的方法用于解码 html 实体(例如空间的“%20”)。但是,我正在构建一个 Winforms 应用程序,但需要处理 html 编码的字符串。基本上我有 iTunes 库 XML 文件,需要解码其中的 URL 以检查文件。
如果没有 System.Web 命名空间,这可能吗?
我知道 System.Web 命名空间中有不同的方法用于解码 html 实体(例如空间的“%20”)。但是,我正在构建一个 Winforms 应用程序,但需要处理 html 编码的字符串。基本上我有 iTunes 库 XML 文件,需要解码其中的 URL 以检查文件。
如果没有 System.Web 命名空间,这可能吗?
需要在其客户端应用程序中使用 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 编码。
您可以使用System.Net.WebUtility.HtmlDecode
:
将已为 HTTP 传输进行 HTML 编码的字符串转换为已解码的字符串。
仅仅因为您正在编写 Windows 窗体应用程序并不会阻止您使用System.Web
. 只需添加对System.Web.dll
.
如果您仍然想知道如何在没有 System.Web 的情况下执行此操作,请参阅这篇文章。它为 URI 解码提供了一种解决方案(这实际上是您正在解码的内容,而不是类似于 "&emdash;" 的 HTML 实体)
要使用 .NET 框架中的方法,您必须使用 System.Web 命名空间来获取 HtmlDecode 方法。
是的,您可以编写自己的方法来执行此操作,但这没有多大意义。
只需添加对 system.web 的引用。
mybe 它可以在 winforms 中提供帮助:
System.Uri.EscapeUriString(plainText);
您可以使用HttpUtility.UrlDecode
或HttpUtility.HtmlDecode