Строка формата для XML
Я пишу некоторый код для отправки XML-документа сервлету. Для одного из полей тега XML мне нужно заполнить его строкой, которая извлекается из внешнего файла.
Я нашел пару внешних файлов, которые содержат некоторые символы <и>. Сервлет не примет этот документ XML в этом случае.
Если я удаляю символы <и> из поля тега XML, документ XML отправляется правильно.
Поскольку я собираюсь использовать тысячи внешних файлов, я уверен, что будут другие случаи "нелегальных" символов. Существует ли функция кодирования XML или аналогичная функция, которую можно использовать для форматирования строки, чтобы она могла быть сохранена в теге XML без ошибок?
Я пробовал кодировать HTML, но это не работает. Есть ли эквивалентное действие для XML?
1 ответ
Если вы действительно хотите создавать свои собственные строки XML, поместите свой внешний символ в тег CDATA. Вам просто нужно убедиться, что конечная последовательность (которая ]]>
) отсутствует во внешнем файле. Если вы обнаружите это, вы должны будете на бис или заменить это другой строкой раньше. Так:
<![CDATA[*your external stuff containing < and > here*]]>