1

XAttribute の Value プロパティに渡す値を簡単にサニタイズするにはどうすればよいですか。

4

2 に答える 2

1

あなたは試すことができます:

string value = "!@#$%^&*()123%^&*(!@#\(*!&10987"
value = System.Security.SecurityElement.Escape(value);

これにより、XML 属性値として無効な文字がエスケープされます。

于 2010-07-08T23:55:19.050 に答える
1

問題を解決するための拡張メソッドを次に示します。/0 は XML では許可されていません。他の文字も許可されていないかどうかはわかりませんが、そうではないと思います。から始めるのがおそらく最善' 'です。

void Main()
{

    Console.WriteLine("123\0394".XmlSanitize());

}

public static class XmlHelpers
{
    public static string XmlSanitize(this string badString)
    {
        return new String(badString.Where(c => c >=' ').ToArray());
    }
}
于 2010-07-08T23:40:59.043 に答える