Я создаю документы XML со значениями, полученными из БД. Иногда из-за устаревшей реализации я отброшу значение, содержащее char, которое недействительно, если оно не экранировано надлежащим образом (например, например).
Итак, вопрос будет, должен ли я CDATA или Escape? Являются ли определенные ситуации более подходящими для одного и другого?
Примеры:
<Email>foo&[email protected]</Email>
Я бы наклонился к CDATA.
<Name>Bob & Tom</Name>
Я склоняюсь к побегу здесь.
Я хочу избегать слепого CDATA'а каждый раз, но с точки зрения производительности кажется, что это логичный выбор. Это будет всегда быстрее, чем поиск недопустимого char, и если он существует, то заверните.
Мысли?