2017-07-17 10 views
2

J'ai et fichier XML avec 60k entités. Je veux le traiter en lots de 20k. J'utilise l'analyseur syntaxique SAX pour analyser les entités et les stocker dans une liste. J'ai analysé 60k entités et stocké dans un fichier/tableau/liste, puis les traiter séparément. Je ne pense pas que c'est la meilleure solution.Lire et traiter seulement une partie d'un fichier XML

Existe-t-il un moyen de lire seulement 20k entités à partir du fichier XML, les traiter et lire à nouveau le fichier XML.

+0

Ce que vous décrivez doit appartenir à la logique de votre application. Savez-vous que vous pouvez démarrer ou suspendre le parseur sax à volonté. Alors pourquoi ne pas suspendre votre code d'analyse après avoir collecté 20k entités? –

+0

Oui, c'est ce que je pensais maintenant. L'implémentera et partagera le résultat. Merci pour votre suggestion –

+0

Salut vtd-xml-auteur, Cela fonctionne, j'avais utilisé la logique de division dans mon programme. –

Répondre

-1

Je pense que vous pouvez utiliser le concept Multithreading. Créer 3 thread, chaque thread doit lire les données 20K. Puis un autre thread lira une autre donnée 20k.