Строка формата для XML

Я пишу некоторый код для отправки XML-документа сервлету. Для одного из полей тега XML мне нужно заполнить его строкой, которая извлекается из внешнего файла.

Я нашел пару внешних файлов, которые содержат некоторые символы <и>. Сервлет не примет этот документ XML в этом случае.

Если я удаляю символы <и> из поля тега XML, документ XML отправляется правильно.

Поскольку я собираюсь использовать тысячи внешних файлов, я уверен, что будут другие случаи "нелегальных" символов. Существует ли функция кодирования XML или аналогичная функция, которую можно использовать для форматирования строки, чтобы она могла быть сохранена в теге XML без ошибок?

Я пробовал кодировать HTML, но это не работает. Есть ли эквивалентное действие для XML?

1 ответ

Решение

Если вы действительно хотите создавать свои собственные строки XML, поместите свой внешний символ в тег CDATA. Вам просто нужно убедиться, что конечная последовательность (которая ]]>) отсутствует во внешнем файле. Если вы обнаружите это, вы должны будете на бис или заменить это другой строкой раньше. Так:

<![CDATA[*your external stuff containing < and > here*]]>
Другие вопросы по тегам