У меня проблема с производительностью XML, которую я хочу решить.
В частности, у меня есть один и тот же XML-файл малого/среднего размера, который анализируется много сотен раз.
Функциональность привязана к считывателю событий StAX XML. Его вывод не может быть клонирован или скопирован каким-либо иным образом, единственный способ воспроизвести необходимую функциональность — снова запустить этот модуль чтения событий XML для XML-документа.
Для повышения производительности я хотел бы с нетерпением читать XML в последовательность событий StAX, а затем воспроизводить эту последовательность событий, а не каждый раз повторно анализировать XML.
Я считаю, что проблема заключается в реализации: хотя эта идея в принципе разумна, «события» выражаются в виде изменений состояния по отношению к XMLStreamReader, который имеет большую поверхность API, большая часть (но не вся) которой связана с его «текущим». " мероприятие.
Такая система уже существует?
Если мне придется построить его самостоятельно, что может быть лучшим способом обеспечить правильность?