如何轻松清理传递给XAttribute的Value属性的值。
答案 0 :(得分:1)
这是一种清除麻烦的扩展方法。 XML中不允许使用/ 0。我不确定其他字符是否也被禁止,但我不相信。可能最好从' '
开始。
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());
}
}
答案 1 :(得分:1)
你可以尝试:
string value = "!@#$%^&*()123%^&*(!@#\(*!&10987"
value = System.Security.SecurityElement.Escape(value);
这将转义作为XML属性值无效的字符。