|
.NET TIPS
文字列をXMLコード用にエスケープするには?[C#、VB]
デジタルアドバンテージ 一色 政彦
2011/11/10 |
|
|
「TIPS:WindowsアプリケーションでHTMLデコード/エンコードを行うには?」では、WebUtilityクラス(System.Net名前空間)のHtmlEncode静的メソッドを使って、文字列をHTMLコード用にエスケープする方法が説明されている(※なお、エスケープとは、「<」という文字を「<」などに変換すること)。しかし、このメソッドはあくまでHTML用であり、XML用ではない。両者の違いは、例えば「'」がXML用では「'」となるが、HTML用では「'」に変換されることなどである。
そこで本稿では、XMLコード用にエスケープする方法を紹介する。
●文字列をXMLコード用にエスケープする方法
これには、SecurityElementクラス(System.Security名前空間)のEscape静的メソッドを使えばよい。次のコードはその例である。
using System;
using System.Security;
class Program
{
static void Main()
{
string preText = "エスケープ対象: < > & \" \'";
string xmlText = SecurityElement.Escape(preText);
Console.WriteLine(xmlText);
// 出力結果↓
// エスケープ対象: < > & " '
Console.ReadLine();
}
} |
Imports System.Security
Module Module1
Sub Main()
Dim preText As String = "エスケープ対象: < > & "" '"
Dim xmlText As String = SecurityElement.Escape(preText)
Console.WriteLine(xmlText)
' 出力結果↓
' エスケープ対象: < > & " '
Console.ReadLine()
End Sub
End Module |
|
文字列をXMLコード用にエスケープするサンプル・コード(上:C#、下:VB) |
このようにSecurityElement.Escapeメソッドの使い方は簡単で、パラメータに文字列を指定すれば、変換後の文字列が戻り値として返される。
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間