Dites-moi s'il vous plaît est-il possible de casser le processus d'analyse? C'est à dire. Quittez cette boucle n'atteignant pas la fin du document et l'événement correspondant "Enddocument"? P>
3 Réponses :
Jetez une exception dans le gestionnaire et attrapez-la dans le bloc de code où vous avez commencé à analyser: et dans votre documentHandler: p>
BTW: 2 ans plus tard, je commence à penser qu'il est assez malheureux que nous devions utiliser une exception pour contrôler le flux. Briser le processus d'analyse peut être parfaitement valable dans des scénarios de non-erreur ... Si jamais quelqu'un trouve une meilleure solution, je serais heureux de le lire!
Jeter une sous-classe de SaxparseXception et vous obtiendrez un rappel Dans le Errorhandler .
Vous devez lancer une saxexception. Afin de le distinguer des erreurs régulières, je la sousglobe avec ma propre classe d'exception p>
Une solution simple serait d'utiliser une analyse de stax - au lieu de SAX. Bien que SAX a une analyse poussée - les événements soient envoyés au gestionnaire par les analyseurs, Stax est à l'analyse, les événements nous sont donnés à travers XMLEVentreader, qui peuvent être utilisés similaires à un itérateur. Il est donc plus facile de mettre en œuvre une pause conditionnelle pour sortir de l'analyse. P>
Identique que cette question Stackoverflow.com/Questtions/1345293/...