Я работаю над программным обеспечением для ведения блога. Иногда пользователям удается вставить управляющие символы в свои сообщения в блоге (например, недавно кому-то удалось вставить символ вертикальной табуляции ). Когда мы отображаем сообщения в RSS-канале, синтаксические анализаторы XML не могут проанализировать управляющий символ и объявляют канал недействительным.
Один из способов исправить это — выполнить посимвольное сканирование строки и удалить все недопустимые символы. Это будет означать сохранение списка недопустимых символов. Кто-нибудь знает, существует ли уже такой список?
Или, может быть, кто-то знает библиотеку, которая уже решает эту проблему? Я пишу на C#, но могу портировать библиотеку, написанную на другом языке.
Или есть какое-то решение, которое мне не хватает?
Обратите внимание, что это не проблема юникода или экранирования. Лента RSS отлично отображает скобки, китайские иероглифы, крылышки, умные кавычки и т. д. Это просто определенные управляющие символы, которые, кажется, делают ленту недействительной.