Как отменить экранирование нестандартных символов в XML в Java?

#java #xml #xml-parsing

#java #xml #xml-синтаксический анализ

Вопрос:

Я понимаю, что подобный вопрос задавался ранее, и решение заключается в использовании StringEscapeUtils.unescape(). Однако, согласно описанию метода:

Поддерживает только пять основных XML-объектов (gt, lt, quot, amp, apos). Не поддерживает DTD или внешние объекты.

У меня есть куча XML-файлов с экранированными символами, такими как amp;blank; и amp;hyph; . Как я могу отменить их? Они определены в предоставленном DTD. Существует ли такой метод, как StringEscapeUtils, но с поддержкой DTD?

Ответ №1:

Хм, прошло много времени, но я думаю, что реализация EntityResolver2 (Java SDK) обрабатывает объекты, определенные извне. Это часть спецификации SAX2.