Создание XML-документа посредством StAX

Создание XML-документа посредством StAXВ предыдущих уроках вы видели, как создается XML-документ посредством написания DOM-дерева. Если DOM-дерево вы больше нигде не используете, то этот вариант будет не очень эффективным.

StAX API позволяет сразу написать XML-дерево. Для этого нужно создать XMLStreamWriter из OutputStream, как показано ниже:

Оптовая продажа детской обуви осуществляется нашей компанией по всей Украине. У нас вы можете купить обувь для мальчиков оптом. Вы будете приятно удивлены качеством предоставляемой нами продукции, а также оперативностью доставки

Чтобы создать XML-заголовок, вызовите следующий метод:

После этого вызовите метод:

Добавьте атрибуты, вызвав такой метод:

Теперь можно добавить дочерние элементы, снова вызвав метод writeStartElement, или записать символы посредством метода:

После того как вы напишете все дочерние узлы, вызовите метод:

Этот метод закроет текущий элемент.

Чтобы написать элемент без потомков(например, <img _/>), следует вызвать метод:

В конце документа вызовите метод:

Этот метод закроет все открытые элементы.

Как и при использовании подхода с DOM/XSLT, вам не следует беспокоиться о пропуске символов в значениях атрибутов и данных символов. Однако в этом случае существует вероятность того, что вы создаете плохо сформированный XML, например, документ с множеством корневых узлов. Кроме того, текущая версия StAX не поддерживает создание вывода с отступами.