Читаем XML файл в Java с помощью StAX.

Читаем XML файл в Java с помощью StAX

В этой статье мы продолжим изучать различные API по обработке XML в Java. Сегодня мы разберем Java StAX API: разберем наборы API, которые предоставляет StAX и попробуем на практике разобрать простой XML  файл.

Теоретические сведения о Java StAX API

Java StAX или Java Streaming API для XML предоставляет API для обработки XML в Java. StAX состоит из двух наборов API: на основе итератора и на основе курсора.

  • API на основе курсора позволяет приложению обрабатывать XML как поток событий: приложение может проверить состояние синтаксического анализатора и получить информацию о последнем анализируемом событии, а затем перейти к следующему событию, и так далее. Это низкоуровневый API, который не обеспечивает абстракцию над XML структурой.
  • Второй набор — высокоуровневый API на основе итератора. Этот API позволяет приложению обрабатывать XML как серию объектов-событий, каждый из которых представляет часть структуры XML. Для каждого разобранного события нужно определить тип, а также разобрать событие на составляющие блоки.

Используем Java StAX API для разбора XML файла

Java StAX обеспечивает фабричные методы для создания XMLEventReader с помощью которого мы можем представить любой элемент XML файла в виде XMLEvent.

Наиболее полезными методами класса XMLEvent являются isStartElement() и метод isEndElement(), которые отвечают за определение начального  и конечного тега.

Ниже представлен XML, на который мы будем натравливать Java StAX:

Ниже представлен листинг класса XMLstaxParser для чтения XML файла:

Как видно из листинга, мы разбираем XML файл в список объектов Student с помощью метода parseXMLfile(). Результат работы программы представлен ниже:

Кому интересен способ чтения файла с помощью DOM Parser, перейдите по этой ссылке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *