Page 1 sur 1

xml trés lourd, traitement, mysql.

Posté : 25 oct. 2013, 14:58
par damien_55
Bonjour a tous,

J'ai un soucis avec un trés gros xml (65Go) à traiter. Le soucis est que lorsque j'essaie de l'ouvrir (pour voir comment il est composé et faire mon parser), l'ordi plante. Ne me demandez pas pourquoi si gros etc.. Le client ne me fournit que ça et il ne peut pas faire autrement.

Comment je peux faire pour le traiter et l'integrer dans ma base ? Existe t il un parser automatique qui insere par exemple une balise xml par champ en créant automatiquement dans ma base des champ suplémentaire autant que necessaire pour chaque entrée?

Re: xml trés lourd, traitement, mysql.

Posté : 25 oct. 2013, 16:12
par josse34
Fichtre, 65Go, c'est énorme!! Comment est ce possible?!!!!

Bref, tu dois saturer ta mémoire vive, et je ne vois pas comment tu peux faire mis à part le faire tourner sur un PC avec 70Go de mémoire vive!

Peut être est il possible avec une application tierce de découper le fichier à la source?

Re: xml trés lourd, traitement, mysql.

Posté : 25 oct. 2013, 16:47
par damien_55
@josse.

Des psychopathes :)

Re: xml trés lourd, traitement, mysql.

Posté : 26 oct. 2013, 22:52
par moogli
Le problème n'est pas de saturer la mémoire vive c'est surtout que php limite la taille mémoire utilisable par un script et que cela se compte Mo :mrgreen:
Donc tu ne peu pas charger le fichier complètement, il te faut faire une traitement au fil de l'eau.
Effectivement si tu ne connais pas la structure c'est pas gagné.
Ton client ne peux pas te filer la structure ? Ni même une dtd ?

Il vient d'où ce fichier ? (Pas de réponses en 3 lettres svp ;) )

S'il s'agit d'un export de SGBD il est peux être et possible de l'insérer direictement avec le load data de mysql (load data in file).
Cela te simplifierais la tâche.

Pense aussi à modifier le temps d'exécution du script ;)


@+