System.Web名前空間には、HTMLエンティティをデコードするためのさまざまなメソッドがあることを知っています(スペースの「%20」など)。 Winformsアプリケーションを構築していますが、htmlエンコードされた文字列を処理する必要があります。基本的に私はiTunesライブラリのXMLファイルを持っていて、ファイルをチェックするためにそこにあるURLをデコードする必要があります。
System.Web名前空間なしでこれは可能ですか?
クライアントアプリでSystem.Web.HttpUtilityを使用する必要があり、System.Web.dllを参照する必要があったため、NET4フル(System.Web.dllがフル)をターゲットとする開発者は、新しいSystem.dllにあるSystem.Net.WebUtilityクラス(System.dllはNET4クライアントプロファイルにあります)。 System.Net.WebUtilityには、HtmlEncodeおよびHtmlDecodeが含まれています。 URLエンコードは、System.Uriクラス(これもSystem.dll内)を使用して実行できます。
System.Net.WebUtility.HtmlDecode
:
HTTP送信用にHTMLエンコードされた文字列を、デコードされた文字列に変換します。
Windowsフォームアプリを作成しているからといって、System.Web
の使用が妨げられることはありません。 System.Web.dll
への参照を追加するだけです。
System.Webなしでこれを行う方法にまだ興味がある場合は、 この記事 を参照してください。 URIデコードのソリューションを提供します(これは実際にデコードしているものであり、「&emdash;」のようなHTMLエンティティではありません)。
.NETフレームワークにあるメソッドを使用するには、System.Web名前空間を使用してHtmlDecodeメソッドを取得する必要があります。
はい、独自のメソッドを記述してそれを行うことはできますが、それはあまり意味がありません。
System.webへの参照を追加するだけです。
多分それはwinformsで助けることができます:
System.Uri.EscapeUriString(plainText);