Bonjour,
Je doit traiter des gros fichiers xml (plus de 30 000 éléments) pour les importer dans une base de données.
Impossible de le charger avec les librairies DOM. (pas assez de mémoire)
Je me suis donc orienté vers SAX.
Mais je ne suis pas satisfait du résultat. (Code illisible)
Mais j'aimerais simplement pouvoir récupérer mes éléments morceau par morceau.
Exemple de fichier :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <Echange> <CrpCen id="4xxx9" editeur="xxxx" logiciel="xxxx" version="5.00" email="demo@developpez.net" mode="complet"> <Clef id="408318346"> <PVB>180000.00</PVB> <fraisNego>0.00</fraisNego> <fraisActe>0.00</fraisActe> <Designation>Appartement</Designation> <Annonce>blabla</Annonce> <Photo id="0">90108318346-1.JPG</Photo> <typeChauffage>Individuel</typeChauffage> <natureChauffage>Electricité</natureChauffage> <standing>Ordinaire</standing> <cave>oui</cave> <parkings>2</parkings> <SurfaceHabitable>123</SurfaceHabitable> <NbrePiece>5</NbrePiece> <NbreChambres>0</NbreChambres> <PAYS>France</PAYS> <dpeSoumis>False</dpeSoumis> </Clef> <!-- Pleins de <Clef> --> </CrpCen> <!-- Pleins de <CrpCen> --> </Echange>
Mon objectif est de traiter les <Clef> Mais j'ai besoin d'avoir les données du <CrpCen> parent.
En fait il me faudrait la passerelle entre mon document xml et une fonction style :
Merci pour vos suggestions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function traiter_une_Clef(\DOMNode $Clef, array CrpCenAttributes, $filename){ // ... }![]()
Partager