Скорее всего, вы найдете ответ в разделах API StAX в учебном руководстве по Java Web Services Developer Pack или учебном руководстве по Java EE 5 . Они оба содержат ту же информацию, которую я воспроизводю ниже:
Сравнение API-интерфейсов Cursor и Iterator
Перед выбором между курсором и
API итератора, вы должны отметить несколько
вещи, которые вы можете сделать с
API-интерфейс итератора, с которым вы не можете работать
API курсора:
Объекты, созданные из подклассов XMLEvent, являются неизменяемыми и могут быть
используется в массивах, списках и картах, и
может быть передан через ваш
приложения даже после того, как парсер
перешел к последующим событиям.
Вы можете создавать подтипы XMLEvent, которые либо полностью
новые информационные элементы или расширения
существующие предметы, но с дополнительными
методы.
Вы можете добавлять и удалять события из потока событий XML намного проще
пути, чем с помощью курсора API.
Аналогично, придерживайтесь общего
рекомендации при составлении
ваш выбор:
Если вы программируете для особенно ограниченной памяти
среда, как J2ME, вы можете сделать
меньший, более эффективный код с
API курсора.
Если производительность является вашим наивысшим приоритетом - например, при создании
библиотеки низкого уровня или
инфраструктура - курсор API больше
эффективным.
Если вы хотите создать конвейеры обработки XML, используйте итератор
API.
Если вы хотите изменить поток событий, используйте API итератора.
Если вы хотите, чтобы ваше приложение могло обрабатывать вставную обработку
потока событий, используйте итератор
API.
В общем, если у вас нет сильных предпочтений в одну сторону или
другой, используя API итератора
рекомендуется, потому что это больше
гибкий и расширяемый, тем самым
«будущее» ваших приложений.
API итератора, хотя и рекомендуется, медленнее, чем API курсора, так как курсору не нужно запоминать предыдущие узлы, которые он анализировал; он обеспечивает прямой анализ XML-документов и не требует дополнительных затрат на создание XMLEvent
объектов. По-видимому, тест показал, что SAX может оказаться лучше при разборе больших документов по сравнению с StAX; Возможно, вы захотите проверить, можете ли вы воспроизвести результаты эталонного теста для ваших наборов данных.