Question

Je ne parviens pas à comparer ces techniques d’analyse. Lequel est le plus couramment utilisé?

Cordialement. Mustafa

Était-ce utile?

La solution

NSXMLParser est un analyseur SAX , ce qui signifie qu'il parcourt le document XML et vous en informe ( via des méthodes de délégation) de divers événements (tels que le démarrage d’un nœud XML, la recherche d’attributs, etc.). Ce type de traitement XML convient parfaitement à l'analyse de documents volumineux et lorsqu'il vous suffit de récupérer une quantité infime de données à partir d'un fichier volumineux.

Contrairement à SAX, le modèle DOM , où toute l'arborescence XML est analysée en mémoire (généralement avec un seul appel) et vous pourrez ensuite explorer librement le document XML à partir de l’API présentée. C’est généralement beaucoup plus facile à utiliser car vous obtenez un accès aléatoire à l’ensemble du document XML.

La première question à laquelle il faut répondre est la question SAX vs DOM. Si vous payez avec de gros fichiers XML (disons 10 Mo ou plus), vous voudrez peut-être rester avec SAX. Si vous travaillez avec de petits fichiers XML ou de petits fragments XML, il est souvent beaucoup plus facile d'utiliser DOM.

Si en effet vous décidez d'utiliser DOM, vous avez quelques options.

libxml2 est une API très puissante écrite en C. Elle est principalement conçue pour être utilisée dans le style DOM, mais elle offre d’autres options si vous en faites l’expérience. Mais, comme il est écrit en C, il n’est pas souvent attrayant pour ceux qui sont plus familiarisés avec Objective-C (objets et autorelease), ou ceux qui viennent du monde .Net. Ainsi, il existe un besoin / désir d’un wrapper Objective-C natif autour de libxml pour le rendre plus familier. TouchXML est l'un de ces emballages. Cela fonctionne bien si vous n'avez besoin que d'un accès en lecture au XML. Si vous souhaitez modifier le code XML ou créer des fragments / documents XML à partir de rien, je vous recommande d'utiliser KissXML. .

Autres conseils

Voir Tutoriel XML pour iOS: Comment choisir le meilleur analyseur XML pour votre projet iPhone :

  

Il existe de nombreuses options pour analyser XML sur l'iPhone. Le kit de développement logiciel (SDK) pour iPhone comprend deux bibliothèques différentes. Il existe plusieurs bibliothèques tierces populaires, telles que TBXML, TouchXML, KissXML, TinyXML et GDataXML. Comment un développeur choisit-il le meilleur analyseur XML pour son projet?

     

Récemment, j'ai jeté un œil sur les différentes options et étendu l'extension de l'exemple XMLPerformance d'Apple afin d'essayer chacune des bibliothèques ci-dessus afin de comprendre leur fonctionnement et de comparer leurs performances. Je pensais que je partagerais ce que j’ai appris jusqu’à présent avec d’autres personnes qui pourraient rechercher la meilleure bibliothèque XML pour leur projet iPhone.

     

Dans ce tutoriel XML, nous donnerons une comparaison détaillée des fonctionnalités et des performances des bibliothèques iPhone les plus courantes, expliquerons comment choisir entre elles et un exemple de projet montrant comment lire des données XML à l'aide de chacune des bibliothèques ci-dessus. ...

Il existe une autre bonne bibliothèque d'analyse XML basée sur des blocs - RaptureXML ( github ) par < a href = "https://stackoverflow.com/users/185387/zablanc"> ZaBlanc , il fournit une API Objective-C au-dessus de libxml2, je recommande vivement de l'essayer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top