Вопрос об использовании StAX с бесконечным потоком файлов xml - PullRequest
2 голосов
/ 24 января 2020

У меня работает сервер, который отправляет один файл xml каждую секунду (который в конечном итоге необходимо обновить до 800 файлов в секунду). Клиент, который я написал, слушает сервер, отлично обрабатывает первый файл, но как только первый файл полностью обработан и он пытается go ко второму файлу, я получаю следующую ошибку:

javax. xml .stream.XMLStreamException: ParseError at [row, col]: [164,6] Сообщение: недопустимый объект инструкции обработки, соответствующий "[xX] [mM] [lL]".

Я предполагаю, что это вызвано тем, что он читает начало, если следующий xml файл <?xml version="1.0" encoding='null' standalone='no'?>, и это вызывает ошибку?

1 Ответ

1 голос
/ 24 января 2020

Это исключение вызвано, как вы и предполагали, объявлением XML (которое является частью пролога), которое не находится перед первым элементом в документе в соответствии с spe c. В зависимости от того, какую реализацию вы используете для чтения файла, вам следует сбросить настройки чтения или закрыть и создать новый экземпляр для каждого файла.

...