Quiero saber la diferencia entre los cuatro tipos anteriores (SAXPaser, XPath, DOM, XMLPullParse) y cuándo deberíamos usar cada uno.La diferencia entre: analizador SAX, XPath, DOM, XMLPullParser
Respuesta
SAX de análisis es el mejor para poner en práctica que DOM, ver la diferencia entre estos dos en lo siguiente:
DOM
Los nodos son en forma de estructura de árbol Memoria: ocupa más memoria , DOM solo se prefiere en el caso de documentos XML pequeños Más lento en el tiempo de ejecución Almacenado como un objeto Programado fácil de implementar Facilidad de navegación y uso.
SAX
Secuencia de eventos No utiliza ninguna memoria preferida para documentos grandes. Más rápido en tiempo de ejecución, debido al punto mencionado anteriormente. Se crearán objetos. Necesidad de escribir código para crear objetos En SAX de navegación hacia atrás no es posible, ya que procesa secuencialmente el documento
Así que si tiene archivos muy grandes, entonces debería usar analizador SAX ya que se disparará eventos y la liberación de ellos, no hay nada almacenado en la memoria, y utilizando el analizador SAX no puede acceder al elemento de forma aleatoria, ¡no hay marcha atrás! , pero Dom le permite acceder a cualquier parte del archivo xml, ya que mantiene todo el archivo/documento en la memoria.
ver esto article y puede obtener lo que desea al leer el Resumen.
también comprobar esta link para ver el rendimiento del analizador diferente xml
Por favor marque a continuación enlaces ...
http://steveliles.github.com/comparing_methods_of_xml_parsing_in_android.html
http://xjaphx.wordpress.com/2011/11/01/android-xml-adventure-compare-xml-parsers/
http://www.ibm.com/developerworks/opensource/library/x-android/index.html
http://www.developer.com/ws/android/development-tools/Android-XML-Parser-Performance-3824221-2.htm
http://www.geekinterview.com/question_details/12797
(según el artículo anterior)
Tanto SAX como DOM se utilizan para analizar el documento XML. Ambos tienen ventajas y desventajas, y se puede utilizar en nuestra programación en función de la situación
SAX:
- analiza sintácticamente nodo por nodo
- Doesnt almacenar el XML en la memoria
- No podemos insertar o borrar una nodo
- de arriba a abajo atravesando
DOM
- Tiendas de todo el documento XML en la memoria antes de procesar
- ocupa más memoria
- Podemos insertar o eliminar nodos
- Traverse en cualquier dirección.
Si necesitamos encontrar un nodo y no es necesario insertarlo o eliminarlo, podemos ir con SAX, de lo contrario DOM, siempre que tengamos más memoria.
DOM
Los nodos son en forma de estructura de árbol Memoria: ocupa más memoria, DOM es solamente Preffered en el caso de documentos XML pequeños ... Almacenar todo el documento XML en la memoria antes del procesamiento Más lento en el tiempo de ejecución Almacenado como un objeto Programado de manera fácil de implementar nt La facilidad de navegación y uso, puede atravesar en cualquier dirección. Podemos insertar o eliminar, alterar nodos.
SAX: utilizar cuando se quiere acceder XML (XML no altera)
Secuencia de eventos No utiliza ninguna memoria preferida para la gran tienda documents.Doesn't el XML en la memoria antes de procesar más rápido en tiempo de ejecución, debido al punto mencionado anteriormente. Se crearán objetos. Necesidad de escribir código para crear objetos En SAX de navegación hacia atrás no es posible, ya que procesa secuencialmente el documento, de arriba abajo atravesando No puede insertar o eliminar un nodo
XPATH: Xpath es útil cuando sólo se necesita un par de valores desde el documento XML y usted sabe dónde encontrarlos (conoce la ruta de la data./root/item/challange/text)
XMLPullParser: rápido y requiere menos memoria con DOM
Fuente: http://www.time2ask.com/ http://www.time2ask.com/Android/The-difference-among-SAX-ParserXPathDOMXMLPullParser/_2361836
- 1. Android: análisis DOM vs SAX vs XMLPullParser?
- 2. Diferencia entre el analizador XML SAX, el analizador de arrastre y el analizador DOM en Android
- 3. analizador SAX vs XMLPull analizador
- 4. Dom Vs Sax - creando Xmls
- 5. Analizador ligero XML C++ SAX
- 6. análisis XML - elementtree vs SAX y DOM
- 7. Error desconocido en xpath (usando xmlpullparser)
- 8. Diferencia entre HTML y DOM
- 9. Analizando html con el analizador SAX
- 10. Cómo analizar XML utilizando el analizador SAX
- 11. Supervisión del progreso del analizador Java SAX
- 12. Objective-C DOM analizador XML para iPhone
- 13. ¿JAXB usa SAX o DOM internamente?
- 14. ¿Es XPath mucho más eficiente en comparación con DOM y SAX?
- 15. Diferencia entre analizador circunscripción y analizador de dependencias
- 16. PHP HTML DOM analizador
- 17. Ajuste de la codificación para el analizador SAX en Python
- 18. Diferencia entre XPath, XQuery y XPointer
- 19. Rendimiento de XPath vs DOM
- 20. Diferencia entre DOM parentNode y parentElement
- 21. xpath con el documento dom
- 22. selectores Uso de CSS para recoger los elementos HTML desde un analizador de streaming (por ejemplo, la corriente SAX)
- 23. ¿Cuál es la diferencia entre JavaScript y DOM?
- 24. Analizador SAX de Android que no recibe el texto completo entre las etiquetas
- 25. ¿Cómo puedo obtener el texto entre las etiquetas usando el analizador de Python SAX?
- 26. Java. Analizador de Sax. ¿Cómo romper el análisis sintáctico manualmente?
- 27. ¿Qué analizador HTML DOM funciona mejor en Android?
- 28. XmlPullParser obtener nodos secundarios
- 29. Diferencia entre un analizador LL y Recursive Descent?
- 30. cómo usar el analizador dom php
ver mi respuesta anotada !! Espero que esto te ayude –