2012-05-26 19 views

Respuesta

9

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

enter image description here

3

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:

  1. analiza sintácticamente nodo por nodo
  2. Doesnt almacenar el XML en la memoria
  3. No podemos insertar o borrar una nodo
  4. de arriba a abajo atravesando

DOM

  1. Tiendas de todo el documento XML en la memoria antes de procesar
  2. ocupa más memoria
  3. Podemos insertar o eliminar nodos
  4. 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.

2

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

Cuestiones relacionadas