Domanda

Non riesco a trovare un confronto tra queste tecniche di analisi. Quale è il più comunemente usato?

Saluti. Mustafa

È stato utile?

Soluzione

NSXMLParser è un parser SAX , ovvero attraversa il documento XML e ti informa ( tramite metodi delegati) di vari eventi (come l'avvio di un nodo XML, la ricerca di attributi, ecc.). Questo tipo di elaborazione XML è la soluzione migliore per l'analisi di documenti di grandi dimensioni e quando è sufficiente recuperare una piccola quantità di dati da un file di grandi dimensioni.

Contrariamente a SAX è il DOM , in cui l'intero albero XML viene analizzato in memoria (di solito con una sola chiamata), quindi puoi esplorare liberamente il documento XML dall'API presentata. Questo è generalmente molto più facile da lavorare, dato che ottieni l'accesso casuale all'intero documento XML.

Quindi la prima domanda a cui si dovrebbe rispondere è la domanda SAX vs DOM. Se stai guardando con file XML di grandi dimensioni (diciamo 10 MB o più), potresti voler rimanere con SAX. Se lavori con piccoli file XML o piccoli frammenti XML, spesso è molto più facile usare DOM.

Se davvero decidi di utilizzare DOM, hai alcune opzioni.

libxml2 è un'API molto potente scritta in C. È principalmente per l'uso in stile DOM, ma ha altre opzioni se ne hai esperienza. Ma, come è scritto in C, non è spesso attraente per chi ha più familiarità con Objective-C (oggetti e autorelease) o per chi proviene dal mondo .Net. Quindi, c'è bisogno / desiderio di un wrapper nativo Objective-C attorno a libxml per renderlo più familiare. TouchXML è uno di questi wrapper. Funziona bene se è necessario solo l'accesso in lettura all'XML. Se vuoi modificare l'XML o creare frammenti / documenti XML da zero, ti consiglio di andare con KissXML .

Altri suggerimenti

Vedi Tutorial XML per iOS: come scegliere il miglior parser XML per il tuo progetto iPhone :

  

Ci sono molte opzioni quando si tratta di analizzare XML su iPhone. IPhone SDK viene fornito con due diverse librerie tra cui scegliere, e ci sono diverse librerie di terze parti disponibili come TBXML, TouchXML, KissXML, TinyXML e GDataXML. Come può uno sviluppatore scegliere il miglior parser XML per il proprio progetto?

     

Di recente ho dato un'occhiata alle varie opzioni disponibili e ho finito per estendere l'esempio XMLPerformance di Apple per provare ognuna delle librerie di cui sopra per scoprire come hanno funzionato e confrontare le loro prestazioni. Pensavo di condividere ciò che ho imparato finora con altri che potrebbero essere alla ricerca della migliore libreria XML per il loro progetto iPhone.

     

In questo tutorial XML forniremo un confronto dettagliato delle funzionalità e delle prestazioni delle librerie iPhone più popolari, spiegheremo come scegliere tra loro e dare un progetto di esempio che mostra come leggere i dati XML usando ciascuno dei sopra le librerie ...

Esiste un'altra buona libreria di analisi XML basata su blocchi: RaptureXML ( github ) di < a href = "https://stackoverflow.com/users/185387/zablanc"> ZaBlanc , fornisce API Objective-C su libxml2, consiglio vivamente di provarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top