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 回答