Разница между SAX и DOM

SAX vs. DOM

Простой API для XML (также известный как SAX) - это API синтаксического анализатора последовательного доступа для XML (то есть API, который получает данные и анализирует текст из этого конкретного документа на динамически создаваемых веб-страницах или веб-страницах с интерактивным контентом). Он действует как одна из наиболее популярных альтернатив объектной модели документа (также известной как DOM)..

DOM - это соглашение, которое полностью не зависит от конкретного языка. Это соглашение, которое совместимо с несколькими платформами. Он используется для представления и взаимодействия с объектами в документах HTML, XML и XHTML. В рамках синтаксиса языка, используемого DOM, многие аспекты DOM могут быть рассмотрены и изменены.

Синтаксический анализатор SAX функционирует как так называемый потоковый анализатор (что означает, что он получает и анализирует потоковый текст из своего местоположения). Он содержит управляемый событиями API (то есть API, который зависит от событий, происходящих в определенной среде). Пользователь имеет элемент управления для определения количества методов обратного вызова (то есть методов, которые прослеживают до источника запрошенных данных). Эти методы будут вызываться, когда события происходят во время синтаксического анализа. Во время синтаксического анализа могут произойти четыре основных события: узлы теста XML, узлы элемента XML, инструкции по обработке XML и комментарии XML. Когда эти функции XML встречаются, события включаются в игру. События также происходят, когда эти функции достигли своего конца. Таким образом, SAX является однонаправленным (имеется в виду перемещение в одном направлении), и данные, которые были проанализированы ранее, не могут быть перечитаны без запуска операции разбора..

DOM лучше всего использовать для приложений, в которых к документу необходимо обращаться многократно, или если документ находится вне последовательности. Если приложение находится в строгой последовательности и однопроходной (что означает невозможность доступа без повторного начала последовательности синтаксического анализа), тогда SAX вступает в игру. Большинство веб-браузеров не используют DOM для рендеринга HTML-документов. Тем не менее, DOM является необходимостью для сценариев JavaScript, которые хотят динамически анализировать или изменять все, что относится к веб-странице. По сути, DOM - это способ, с помощью которого JavaScript может визуализировать HTML-страницу и состояние браузера, в котором она содержится (то есть исследовать свою среду)..

Резюме:

1. SAX - это API синтаксического анализатора последовательного доступа для динамических веб-страниц; DOM - это соглашение без языка или зависимости от языка.

2. SAX-парсер позволяет пользователю контролировать количество методов обратного вызова; DOM функционирует независимо, чтобы позволить сценариям JavaScript получать доступ, изменять или анализировать что-либо, относящееся к динамическим веб-страницам, что позволяет JavaScript «физически» исследовать свою среду.