Ответ 1
Взгляните на синтаксические анализаторы Stax. См. справочное руководство по солнцу. Одна из реализаций - проект woodstox.
Я не нашел много способов повысить производительность Java-приложения, которое делает интенсивную обработку XML, помимо использования таких аппаратных средств, как Tarari или Datapower. Кто-нибудь знает какие-либо способы с открытым исходным кодом для ускорения разбора XML?
Взгляните на синтаксические анализаторы Stax. См. справочное руководство по солнцу. Одна из реализаций - проект woodstox.
VTD-XML очень быстро.
Он имеет DOM-подобный API и даже запросы XPath.
Поскольку он не упоминался напрямую, я запишу Aalto, который является самым быстрым парсером java xml в соответствии с некоторыми измерениями, например:
которые не написаны разработчиками Aalto.
Piccolo утверждает, что довольно быстро. Не могу сказать, что я использовал его сам. Вы также можете попробовать JDOM. Как всегда, сравнительный анализ с репрезентативными данными вашей реальной нагрузки.
Отчасти это зависит от того, что вы пытаетесь сделать. Вам нужно вытащить весь документ в память или вы можете работать в потоковой передаче? Различные подходы имеют разные компромиссы и лучше подходят для разных ситуаций.
В зависимости от сложности ваших XML-сообщений вы можете обнаружить, что пользовательский парсер может быть в 10 раз быстрее (хотя больше работы для написания). Однако, если производительность критическая, я бы не предложил использовать общий синтаксический анализатор. (Также я бы не предложил использовать XML, поскольку он не предназначен для производительности, но эта другая история,..;)
Проверьте Javolution, а также