Очистка плохого XML в Java

В моем случае все команды работают. Возможно, вы можете указать свою среду.

$ echo "\#\!"
\#\!
$ echo "#!"
echo "#"
#
$ echo "#!"
echo "#"
#
$ echo $BASH_VERSION
3.2.48(1)-release
7
задан bajafresh4life 29 October 2008 в 02:17
поделиться

4 ответа

Я думаю, что Ваши опции - что-то как:

первые два являются большим количеством тяжеловеса, учитывая, что они разработаны для парсинга плохо сформированного HTML. Если Вы будете знать, что проблемы происходят из-за кодирования и объектов, но иначе хорошо сформировались, то я предложу Вас самокрутка:

  • стандартизируют кодирование к использованию UTF-8
  • стандартный кодер для текста между> и < символы (текстовые объекты).
6
ответ дан 7 December 2019 в 01:28
поделиться

Кажется, что необходимо выяснить, существует ли способ автоматически убрать данные сами перед передачей к синтаксическому анализатору. Как определенные недопустимые символы, не допустимый в заявленном наборе символов или незавершенных метасимволах XML, таких как '<';?

Для незаявленных объектов, я когда-то решил это путем конфигурирования синтаксического анализатора SAX с обработчиком ошибок, который в основном проигнорировал эти ошибки. Это могло бы помочь Вам также. См. ErrorHandler API.

3
ответ дан 7 December 2019 в 01:28
поделиться

Попробуйте http://jtidy.sourceforge.net/ .

1
ответ дан 7 December 2019 в 01:28
поделиться

Для недопустимых символов я бы рекомендовал реализовать фильтрацию Reader; просто преобразуйте их (предполагая, что это управляющие символы) с пробелом или вычеркните.

Необъявленные сущности сложнее; некоторые синтаксические анализаторы xml позволяют вам определять альтернативное DTD для использования (по крайней мере, Woodstox . Если да, то вы можете внедрить DTD, который действительно объявляет нужные вам объекты.

0
ответ дан 7 December 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: