Saltar al contenido

¿Cuál es la diferencia entre SAX y DOM?

Luego de tanto trabajar hemos dado con la contestación de esta dificultad que muchos los lectores de nuestro sitio presentan. Si tienes algún detalle que compartir no dudes en aportar tu comentario.

Solución:

Bueno, estás cerca.

En SAX, los eventos se activan cuando el XML se está analizado. Cuando el analizador está analizando el XML y encuentra una etiqueta que comienza (p. ej. ), luego activa el tagStarted evento (el nombre real del evento puede diferir). De manera similar, cuando se alcanza el final de la etiqueta durante el análisis (), desencadena tagEnded. El uso de un analizador SAX implica que necesita manejar estos eventos y dar sentido a los datos devueltos con cada evento.

En DOM, no se activan eventos durante el análisis. Se analiza todo el XML y se genera y devuelve un árbol DOM (de los nodos en el XML). Una vez analizado, el usuario puede navegar por el árbol para acceder a los distintos datos previamente incrustados en los distintos nodos del XML.

En general, DOM es más fácil de usar, pero tiene la sobrecarga de analizar todo el XML antes de que pueda comenzar a usarlo.

En pocas palabras…

SAXO (Simplementar AIP para XML): es un procesador basado en secuencias. Solo tiene una pequeña parte en la memoria en cualquier momento y “olfatea” la secuencia XML implementando un código de devolución de llamada para eventos como tagStarted() etc. Casi no usa memoria, pero no puede hacer cosas “DOM”, como usar xpath o atravesar árboles.

DOM (Ddocumento Oobjeto METROodel): Cargas todo en la memoria, es un enorme acaparamiento de memoria. Puede volar la memoria incluso con documentos de tamaño mediano. Pero puedes usar xpath y atravesar el árbol, etc.

Aquí en palabras más simples:

DOM

  • Analizador de modelo de árbol (basado en objetos) (árbol de nodos).

  • DOM carga el archivo en la memoria y luego analiza el archivo.

  • Tiene limitaciones de memoria ya que carga todo el archivo XML antes de analizarlo.

  • DOM es de lectura y escritura (puede insertar o eliminar nodos).

  • Si el contenido XML es pequeño, prefiera el analizador DOM.

  • La búsqueda hacia atrás y hacia adelante es posible para buscar las etiquetas y evaluar la información dentro de las etiquetas. Así que esto da la facilidad de navegación.

  • Más lento en tiempo de ejecución.

SAXÓFONO

  • Analizador basado en eventos (secuencia de eventos).

  • SAX analiza el archivo a medida que lo lee, es decir, analiza nodo por nodo.

  • Sin restricciones de memoria ya que no almacena el contenido XML en la memoria.

  • SAX es de solo lectura, es decir, no puede insertar ni eliminar el nodo.

  • Utilice el analizador SAX cuando el contenido de la memoria sea grande.

  • SAX lee el archivo XML de arriba a abajo y la navegación hacia atrás no es posible.

  • Más rápido en tiempo de ejecución.

Sección de Reseñas y Valoraciones

Nos encantaría que puedieras recomendar esta reseña si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *