Предотвращение записи недопустимых символов в канал RSS
Я работаю над программным обеспечением для блогов. Иногда пользователям удается вставить управляющие символы в свои записи в блоге (например, кому-то недавно удалось вставить символ вертикальной вкладки). Когда мы отображаем сообщения в RSS-ленте, анализаторы XML не могут проанализировать управляющий символ и объявить фид недействительным.
Одним из способов решения этой проблемы было бы сделать посимвольное сканирование строки и удалить все недопустимые символы. Это будет означать ведение списка недопустимых символов. Кто-нибудь знает, если такой список уже существует?
Или, может быть, кто-то знает о библиотеке, которая уже решает эту проблему? Я пишу на C#, но я могу портировать библиотеку, написанную на другом языке.
Или есть какое-то решение, которое мне не хватает?
Обратите внимание, что это не похоже на Unicode или проблему с выходом. Канал RSS отображает квадратные скобки, китайские иероглифы, крылышки, умные цитаты и т. Д. Это просто определенные управляющие символы, которые, кажется, делают фид не валидным.
2 ответа
Хм. Похоже, эта страница имеет хорошее решение: http://cse-mjmcl.cse.bris.ac.uk/blog/2007/02/14/1171465494443.html
Они получают список допустимых символов из спецификации XML, просто перебирают строку и удаляют недопустимые символы.
Взгляните на структуру Argotic для создания RSS-каналов. Библиотека справляется со всем очень хорошо.