Dom Analizador - Se utiliza basado enfoque objeto. es decir, primero carga el XML completo en la memoria, convierte los nodos XML en objetos y luego comienza a analizarlos. Por lo tanto, es bastante más lento.
SAX y tire Analizador - Utilizan basado enfoque evento. Ambos son casi iguales en términos de memoria y rendimiento. Sin embargo, hay pocas situaciones distintivas sobre cuándo usarlas como se describe a continuación.
Dom Analizador - Se usa cuando se necesita para validar todo el XML antes de analizar. Nunca lo use cuando el XML es demasiado grande y la validación puede verse comprometida. Una vez que se inicia el análisis, se analiza desde el nodo inicial al nodo final. no hay forma de analizar solo nodos particulares.
SAX - Úselo cuando desee analizar todo el XML. Una vez que se inicia el análisis, se analiza desde el nodo inicial al nodo final. no hay forma de analizar solo nodos particulares.
PULL - Úselo cuando no desee analizar todo el XML.Es más fácil de implementar que SAX, porque no tiene que mantener el estado de su analizador. Puede obtener solo un nodo en particular que le interese.
Mi sugerencia es - Necesidad de validación - Ir de DOM, tamaño del archivo es pequeña o si no está interesado en el análisis de la totalidad de XML Ir para TIRE, tamaño del archivo es gran o si tiene que analizar el código XML toda archivo - Ir de SAX.
¿No es contrario a esto con Sax y DOM? ¿Dom permite la inserción y eliminación mientras Sax es solo un analizador? Referencia: http://docs.oracle.com/javase/6/docs/api/org/w3c/dom/Document.html – Benjamin
Hola, administradores, por favor editan la respuesta (porque esta tiene la mayoría de los votos) de acuerdo con lo anterior comentario: DOM ** permite ** insertar/eliminar nodos, mientras que SAX ** no ** – radistao
¿Por qué Sax es más rápido que Pull? Para Pull, incluso puede detener el análisis mientras lee, por lo que significa que puede hacer menos trabajo si es necesario ... –