Очистить значения атрибутов XML

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

2 ответа

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

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

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

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

Другие вопросы по тегам