Предотвращение записи недопустимых символов в канал RSS - PullRequest
1 голос
/ 13 октября 2009

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 13 октября 2009

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

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

0 голосов
/ 13 октября 2009

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

...