Как экранировать специальные символы в XML без экранирования тегов XML (<>) в Java

Я хочу экранировать специальные символы при вводе xml. Я пробовал StringEscapeUtils.escapeXml10(xmlString), но в конечном итоге он также экранирует теги xml (<>). Например:

<Company>Test & Test</Company>

следует нормализовать до

<Company>Test&amp;Test</Company>

Не

&lt;Company&gt;Test&amp;Test&lt;/Company&gt;

1 ответ

Вы в основном спрашиваете, как автоматически преобразовать неверный XML в действительный XML. Это не решаемая проблема, в общем случае (представьте, например, что у вас есть встроенный < в реальных данных).

Правильное решение этой проблемы состоит в том, чтобы определить, почему вы начинаете с неверного XML, и исправить эту проблему.

Другие вопросы по тегам