web-dev-qa-db-ja.com

クラスライブラリのHtmlEncode

クラスライブラリ(C#)があります。 HtmlEncodeメソッドを使用してデータをエンコードする必要があります。これは、Webアプリケーションから簡単に実行できます。私の質問は、コンソールアプリケーションから呼び出されているクラスライブラリからこのメソッドを使用するにはどうすればよいですか?

162
Villager

System.Webをインポートするか、それを含むSystem.Web.HttpUtilityを呼び出します

DLLに参照がまだない場合は、参照を追加する必要があります

string TestString = "This is a <Test String>.";
string EncodedString = System.Web.HttpUtility.HtmlEncode(TestString);
204
Russ Bradberry

System.Net.WebUtility クラスは.NET 4.0以降で使用可能です(System.Web.dllの依存関係は不要です)。

200

C#3を使用している場合、これをさらに簡単にする拡張メソッドを作成することをお勧めします。次のように、静的メソッドを(できれば静的クラスで)作成します。

public static class Extensions
{
    public static string HtmlEncode(this string s)
    {
        return HttpUtility.HtmlEncode(s);
    }
}

これで、次のようなきちんとしたことができます。

string encoded = "<div>I need encoding</div>".HtmlEncode();
40
Dan Diplo

これを試して

System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);
25
Palanikumar

System.Web.dllへの参照を追加すると、System.Web.HtmlUtilityクラスを使用できます

7
AnthonyWJones

SharePoint 2010を使用している場合、次のコード行を使用すると、System.Webライブラリ全体を参照する必要がなくなります。

Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);
3
Koen Zomers

System.Webアセンブリを参照して、HttpServerUtility.HtmlEncodeを呼び出すだけです。

http://msdn.Microsoft.com/en-us/library/system.web.httpserverutility.htmlencode.aspx

3
Irwin

Silverlightを使用している場合、これを使用します。

System.Windows.Browser.HttpUtility.HtmlEncode(...);
2
Jonx