Обрабатывать SAX парсеррецепция - PullRequest
2 голосов
/ 29 апреля 2011

У меня проблема с парсером SAX xml. Я хочу проанализировать XML-файл, который, очевидно, является недопустимым (я получаю ExpatParser $ ParseException: в строке 5, столбец 169: неправильно сформирован (неверный токен)). Я знаю, что не так, но xml-файл не создан мной ... поэтому я не могу его изменить.

Теперь я хочу обработать эту ошибку в моем DefaultHandler. Но не вызываются ни error (), ни fatalError (), ни warning () ...

Могу ли я как-то прервать процесс синтаксического анализа, сказать парсеру, что делать с этим недопустимым фрагментом xml, и продолжить анализ ???

Спасибо, JPM

1 Ответ

1 голос
/ 29 апреля 2011

Я бы предположил, что это SAXParseException является фатальной ошибкой , с которой парсер SAX не может восстановиться.В этом случае вам, вероятно, нужно исправить плохой тег, прежде чем пытаться его проанализировать (как предлагает Роберт в своем комментарии).

Возможно, вы захотите использовать Java Regex, чтобы исправить известную ошибку вXML, например,
Regex для цитирования атрибутов XML без кавычек

Для записи я не выступаю за использование regex для фактического анализа XML !

...