пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Методы и средства обработки XML документов с использованием модели SAX, преимущества и недостатки. Принципы программной реализации обработки файла


 

XML DOM описывает каким образом необходимо получать, изменять, добавлять и удалять XML элементы.

Согласно DOM:

  • все, что содержится внутри XML документа, является узлом;
  • весь документ представляется узлом документа;
  • каждый XML элемент – узел элемента;
  • текст внутри XML элементов - текстовый узел;
  • каждый атрибут - узел атрибута;
  • комментарии - узлы комментариев.

XML документ в соответствии с моделью XML DOM представляется как дерево из узлов, при этом:

  • Все узлы дерева находятся в определенных отношениях друг с другом.
  • Все узлы доступны через дерево. Их содержимое может быть изменено, удалено; новые элементы могут быть добавлены в дерево.
  • Дерево начинается с корневого узла и разветвляется вниз вплоть до текстовых узлов на самом низшем уровне дерева.
  • Все узлы находятся в иерархических отношениях между собой.

Эти отношения описываются с помощью понятий родитель, дочерний и потомок (все дочерние на одном уровне).

 

Альтернативным интерфейсом для обработки XML документов является SAX.

SAX ( Simple API for XML ) - прикладной программный интерфейс для парсера с последовательным доступом к XML. Этот интерфейс предоставляет механизм чтения данных из XML документа.

SAX парсер является поточным и управляемым событиями. Задачей пользователя SAX API заключается в описании методов, вызываемых событиями, возникающими при анализе документа.

Такими событиями могут быть следующие:

 

  • текстовый узел;
  • узел элемента XML;
  • инструкция обработки XML;
  • комментарий XML.

События вызываются появлением как открывающего тэга, так и закрывающего тэга любого из этих элементов документа. Атрибут XML также рассматривается как событие.

Анализ документа является однонаправленным (т.е. без возвратов по дереву).

В отличие от DOM формальной спецификации для SAX не существует. В качестве нормативной рассматривается Java реализация SAX.

Следует отметить следующие достоинства и недостатки SAX.

Достоинства:

  • Затраты памяти существенно меньше (зависит от максимальной глубины дерева документа и количества атрибутов в узле элемента), чем в случае DOM (требуется хранить в памяти все дерево документа).
  • Скорость работы выше за счет сокращения затрат времени на выделение памяти для элементов дерева в случае DOM.
  • Потоковое чтение данных с диска в случае DOM невозможно. Если для размещения всего документа в памяти недостаточно места, то использование SAX является безальтернативным.

Недостатки:

  • Процедура проверки правильности предполагает доступ ко всему документу одновременно.
  • Это также требуется и в случае XSLT преобразования

 

 

 

 

 

 

 


06.01.2018; 20:01
хиты: 122
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь