Pregunta

No puedo encontrar la comparación de estas técnicas de análisis. ¿Cuál es el más utilizado?

Saludos. Mustafa

¿Fue útil?

Solución

NSXMLParser es un SAX , lo que significa que recorre el documento XML e le informa ( a través de métodos de delegado) de varios eventos (como iniciar un nodo XML, encontrar atributos, etc.). Este tipo de procesamiento XML es mejor para analizar grandes documentos, y cuando solo necesita recuperar una pequeña cantidad de datos de un archivo grande.

A diferencia de SAX es el modelo DOM , donde el árbol XML completo se analiza en la memoria (generalmente con una sola llamada), y luego puede explorar libremente el documento XML desde la API presentada. Por lo general, es mucho más fácil trabajar con él, ya que obtiene acceso aleatorio a todo el documento xml.

Entonces, la primera pregunta que uno debe responder es la pregunta SAX vs DOM. Si está trabajando con grandes archivos XML (por ejemplo, 10 MB o más), es posible que desee seguir con SAX. Si está trabajando con archivos XML pequeños o pequeños fragmentos XML, a menudo es mucho más fácil usar DOM.

Si de hecho decides ir con DOM, tienes algunas opciones.

libxml2 es una API muy poderosa escrita en C. Es principalmente para uso de estilo DOM, pero tiene otras opciones si tiene experiencia con ella. Pero, como está escrito en C, a menudo no es atractivo para aquellos que están más familiarizados con Objective-C (objetos y autorelease), o aquellos que vienen del mundo .Net. Por lo tanto, hay una necesidad / deseo de un envoltorio nativo de Objective-C alrededor de libxml para hacerlo más familiar. TouchXML es uno de esos envoltorios. Funciona bien si solo necesita acceso de lectura al XML. Si desea modificar el XML o crear fragmentos / documentos XML desde cero, le recomiendo ir con KissXML .

Otros consejos

Consulte Tutorial de XML para iOS: cómo elegir el mejor analizador XML para el proyecto de tu iPhone :

  

Hay muchas opciones cuando se trata de analizar XML en el iPhone. El iPhone SDK viene con dos bibliotecas diferentes para elegir, y hay varias bibliotecas populares de terceros disponibles, como TBXML, TouchXML, KissXML, TinyXML y GDataXML. ¿Cómo puede un desarrollador elegir el mejor analizador XML para su proyecto?

     

Recientemente he estado observando las diversas opciones que existen y terminé extendiendo el ejemplo de rendimiento XML de Apple para probar cada una de las bibliotecas anteriores para aprender cómo funcionaban y comparar su rendimiento. Pensé que compartiría lo que había aprendido hasta ahora con otras personas que podrían estar buscando la mejor biblioteca XML para su proyecto de iPhone.

     

En este tutorial XML, le daremos una comparación detallada de las funciones y el rendimiento de las bibliotecas más populares de iPhone, explicaremos cómo elegir entre ellas y ofreceremos un proyecto de muestra que muestra cómo leer datos XML usando cada uno de los encima de las bibliotecas ...

Hay otra buena biblioteca de análisis XML basada en bloques: RaptureXML ( github ) por < a href = "https://stackoverflow.com/users/185387/zablanc"> ZaBlanc , proporciona la API de Objective-C sobre libxml2, definitivamente recomiendo probarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top