Очистить значения атрибутов XML - PullRequest
1 голос
/ 09 июля 2010

Как я могу легко санировать значения, которые я передаю в свойство Value XAttribute.

Ответы [ 2 ]

1 голос
/ 09 июля 2010

Вы можете попробовать:

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

Это позволит избежать символов, которые недопустимы в качестве значений атрибута XML.

1 голос
/ 09 июля 2010

Вот метод расширения, чтобы убрать ваши проблемы./ 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());
    }
}
...