Предотвращение записи недопустимых символов в канал RSS

Я работаю над программным обеспечением для блогов. Иногда пользователям удается вставить управляющие символы в свои записи в блоге (например, кому-то недавно удалось вставить символ вертикальной вкладки). Когда мы отображаем сообщения в RSS-ленте, анализаторы XML не могут проанализировать управляющий символ и объявить фид недействительным.

Одним из способов решения этой проблемы было бы сделать посимвольное сканирование строки и удалить все недопустимые символы. Это будет означать ведение списка недопустимых символов. Кто-нибудь знает, если такой список уже существует?

Или, может быть, кто-то знает о библиотеке, которая уже решает эту проблему? Я пишу на C#, но я могу портировать библиотеку, написанную на другом языке.

Или есть какое-то решение, которое мне не хватает?

Обратите внимание, что это не похоже на Unicode или проблему с выходом. Канал RSS отображает квадратные скобки, китайские иероглифы, крылышки, умные цитаты и т. Д. Это просто определенные управляющие символы, которые, кажется, делают фид не валидным.

2 ответа

Хм. Похоже, эта страница имеет хорошее решение: http://cse-mjmcl.cse.bris.ac.uk/blog/2007/02/14/1171465494443.html

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

Взгляните на структуру Argotic для создания RSS-каналов. Библиотека справляется со всем очень хорошо.

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