当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《没有System.Web的C#HTMLDecode可能吗?》经验,为你挑选了4个好方法。

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

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



1> bizon..:

需要在其客户端应用程序中使用System.Web.HttpUtility并且必须引用System.Web.dll并因此将.NET4设置为完全(System.Web.dll已满)的开发人员现在可以使用新的目标来定位NET4客户端配置文件System.dll中的System.Net.WebUtility类(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


这是最好的答案.谢谢bizon!

2> 小智..:

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

将已经过HTML编码的HTTP传输字符串转换为已解码的字符串.



3> Jon Skeet..:

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


问题在于,您无法在.NET应用程序中使用.NET 3.5 Client配置文件,因此您的XP用户可以避免150mb下载并使用较小的28mb下载.如果可以,最好避免使用System.Web命名空间.
@Almund:检查我的答案.他们做到了.
我是第二个,愚蠢的是这些方法的一个子集无法在客户端配置文件安装的单独程序集中提供..我发现自己经常需要它们在简单的客户端应用程序中.

4> Steve Eisner..:

如果您仍然好奇如何在没有System.Web的情况下执行此操作,请参阅此文章.它提供了URI解码的解决方案(这实际上是你要解码的,而不是类似"&emdash;"的HTML实体)

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有