Описание тега stax
Традиционно XML API:
- на основе дерева (как DOM) - все содержимое XML считывается и собирается в иерархический граф объектов в памяти.
- на основе событий (например, SAX) - приложение регистрируется для получения событий, когда в исходном документе встречаются сущности.
Оба имеют преимущества: парсеры на основе дерева позволяют произвольный доступ к документу, в то время как последний требует меньшего объема памяти и обычно работает быстрее. StAX находится между этими двумя методологиями, поскольку приложение "извлекает" данные из потока данных XML в удобное для него время. Приложение (а не парсер) контролирует получение данных из xml. Он был представлен в JSR-173 в марте 2004 года и является новой функцией JDK 6.0.
Реализации StAX имеют API-интерфейсы для чтения и записи. Оба имеют два уровня: доступ к "сырому" курсору и доступ к "событиям" на основе объектов.
"Необработанные" классы доступа к курсору, включенные в JDK:
В JDK включены следующие классы, основанные на "событиях":
Другие реализации:
Сравнение производительности с несколькими базовыми примерами фрагментов кода можно найти здесь.