2010-08-22 3 views
0

Mon application iPhone est basée sur socket et reçoit un flux continu non-délimité de documents XML l'un après l'autre dans lequel j'ai l'intention d'analyser le NSXMLParser basé sur les événements.Analyse de plusieurs documents XML à partir d'un flux continu avec NSXMLParser

Exemple:2 documents l'un après l'autre

<?xml version='1.0' encoding='UTF-8' ?><document name="something"><foo>bar</foo></document><?xml version='1.0' encoding='UTF-8' ?><document name="somethingelse"><bar>foo</bar></document> 

Dans la mise en œuvre Java de cela, l'analyseur XML parse simplement un flux jusqu'à ce qu'il atteigne la fin du document, auquel point fait son truc, puis commence à analyser le document suivant à partir de ce point dans le flux. Le problème est NSXMLParser n'accepte pas un flux et ne me dit pas à quel point dans le NSData il a fini d'analyser (à l'exception d'un numéro de ligne et de colonne inutile). J'ai vu quelques solutions comme AQ StreamingXMLParser mais encore une fois, quand cela arrive à la fin du document, il s'arrête et ne tentera pas d'analyser un autre document, ou dites-moi exactement où dans le flux il a fini pour que je puisse commence une nouvelle analyse.

Répondre