Diferença entre SAX e DOM

SAX vs. DOM

A API simples para XML (também conhecida como SAX) é uma API de analisador de acesso serial para XML (que é uma API que obtém dados e analisa o texto desse documento específico em páginas da Web criadas dinamicamente ou em páginas com conteúdo interativo). Ele atua como uma das alternativas mais populares ao Modelo de Objeto de Documento (também conhecido como DOM).

DOM é uma convenção que é completamente independente de um idioma específico. É uma convenção compatível com várias plataformas. É usado para representar e interagir com objetos em documentos HTML, XML e XHTML. Dentro da sintaxe do idioma que um DOM usa, muitos aspectos do DOM podem ser abordados e manipulados.

Um analisador SAX funciona como o que é conhecido como analisador de fluxo (o que significa que obtém e analisa o texto que está sendo transmitido a partir de seu local). Ele contém uma API orientada a eventos (que é uma API dependente de eventos que ocorrem em um determinado ambiente). O usuário tem o controle para definir o número de métodos de retorno de chamada (métodos que são rastreados até a origem dos dados solicitados). Esses métodos serão chamados quando ocorrerem eventos durante o ato da análise. Existem quatro eventos principais que podem ocorrer durante a análise: nós de Teste XML, nós de Elemento XML, Instruções de Processamento XML e Comentários XML. Quando esses recursos XML são encontrados, os eventos são colocados em ação. Os eventos também ocorrem quando esses recursos atingem o fim. Como tal, o SAX é unidirecional (ou seja, movendo-se em uma direção) e os dados analisados ​​anteriormente não podem ser lidos novamente sem iniciar a operação de análise de backup.

O DOM é melhor colocado em jogo para aplicativos em que o documento deve ser acessado repetidamente ou se o documento estiver fora da ordem de sequência. Se o aplicativo estiver em uma sequência estrita e de uma passagem (isso significa incapaz de ser acessado sem iniciar uma sequência de análise novamente), o SAX entra em jogo. A maioria dos navegadores da Web não utiliza o DOM com a finalidade de renderizar documentos HTML. No entanto, o DOM é uma necessidade para scripts JavaScript que desejam analisar dinamicamente ou alterar qualquer coisa referente a uma página da web. Essencialmente, o DOM é a maneira pela qual o JavaScript pode visualizar a página HTML e o estado do navegador em que está contido (ou seja, explorar seu ambiente).

Resumo:

1. SAX é uma API do analisador de acesso serial para páginas da web dinâmicas; DOM é uma convenção sem idioma ou dependência de idioma.

2. Um analisador SAX permite ao usuário controlar o número de métodos de retorno de chamada; O DOM funciona de forma independente para permitir que scripts JavaScript acessem, alterem ou analisem qualquer coisa referente a páginas da web dinâmicas, permitindo que o JavaScript explore 'fisicamente' seu ambiente.