Какие символы необходимо заменить при вставке в <description>RSS-канала? - PullRequest
0 голосов
/ 01 февраля 2010

Я делаю RSS-канал.Я смотрел на официальный пример и заметил, что некоторые символы, такие как < и >, были заменены на &gt; и &lt;.

. Поэтому я предполагаю, что& также необходимо заменить на &amp;.

Есть ли другие символы, которые я должен экранировать, прежде чем скопировать их в описании?Обратите внимание, что текст описания поступает из ненадежного источника, поэтому они никогда не смогут «вырваться» из тега описания или сделать ленту RSS недействительной.

Не думаю, что это имеет значение, но кодировкаutf8.

Ответы [ 3 ]

1 голос
/ 01 февраля 2010

An RSS-канал a особый тип XML-документа. См. эту спецификацию XML для списка специальных символов.

1 голос
/ 01 февраля 2010

Большинству людей никогда не следует использовать манипуляции со строками для создания XML-документов.

Используйте библиотеку XML вашего языка программирования; он автоматически сформулирует правильно сформированный XML для вас. Авторы этой библиотеки XML читают рекомендации XML очень внимательно, так что вам не нужно это делать. Неспособность закодировать символьные объекты - это один из способов, которым вы можете испускать плохо сформированный XML без намерения, но это далеко не единственный.

1 голос
/ 01 февраля 2010

Служба поддержки Microsoft перечисляет следующее:

  • Амперсанд, &
  • Левая угловая скобка, <</strong>
  • Правая угловая скобка, >
  • Прямая кавычка, "
  • Апостроф, '
...