J'ai 200 000 fichiers XML que je veux analyser et stocker dans une base de données.
En voici un exemple : https://gist.github.com/902292
C'est à peu près aussi complexe que les fichiers XML peuvent l'être. Il sera également exécuté sur un petit VPS (Linode), la mémoire est donc limitée.
Ce que je me demande, c'est :
1) Dois-je utiliser un analyseur DOM ou SAX ? DOM semble plus facile et plus rapide puisque chaque XML est petit.
2) Où se trouve un tutoriel simple sur ce parseur ? (DOM ou SAX)
Gracias
EDIT
J'ai essayé la route DOM même si tout le monde a suggéré SAX. Principalement parce que j'ai trouvé un tutoriel "plus facile" pour DOM et j'ai pensé que la taille moyenne des fichiers étant de 3k - 4k, il serait facilement capable de contenir cela en mémoire.
Cependant, j'ai écrit une routine récursive pour traiter l'ensemble des 200 000 fichiers et elle arrive à environ 40 % de leur parcours, puis Java manque de mémoire.
Voici une partie du projet. https://gist.github.com/905550#file_xm_lparser.java
Dois-je abandonner DOM maintenant et utiliser SAX ? Il me semble juste qu'avec de si petits fichiers, DOM devrait être capable de le gérer.
De plus, la vitesse est " assez vite ". Il faut environ 19 secondes pour analyser 2000 fichiers XML (avant l'insertion dans Mongo).
Gracias