Рекомендации по работе с вертикальными табуляторами и другими недопустимыми символами xml

У меня есть приложение, которое (как и многие другие) принимает вводимые пользователем данные, сохраняет их в базе данных, а затем обрабатывает их, используя (среди прочего) инструменты XML. Приложение принимает произвольный ввод текста, и, как и многие другие разработчики, я очень осторожен с экранированием и цитированием, чтобы оно могло обрабатывать ввод, содержащий различные типы пробелов, символы кавычек, зарезервированные символы XML и т. Д.

Однако иногда пользователю удается введите строку, содержащую символ вертикальной табуляции (шестнадцатеричный 0B) или перевод страницы (шестнадцатеричный 0C). это вообще не может быть обработано инструментами XML и вызывает отключение приложения.

В моем приложении очень важно сохранить исходный ввод во время процесса «туда и обратно», поэтому я не хочу просто вырезать любые символы, которые мне не нравятся, особенно такие вещи, как подача формы, которые все еще иногда используются в простые текстовые файлы.

есть ли какие-либо принятые передовые методы или общая стратегия для обработки этих символов при обработке XML?

17
задан Andy 5 December 2011 в 14:39
поделиться