Parseur XML (beaucoup trop gourmant !!!)

Signaler
Messages postés
26
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
6 juin 2005
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour,
Voila j'avais pris un parseur XMl pour créer une application Web...
(cf: http://engardenet.ilix.net/micv5/parseur_xml.txt pour le code)

C'est pour gérer des compétitions. J'avais tout essayer avec 50 participants...
Hier soir j'ai testé 100, et là 26 secondes pour parser le fichier des résultats poules par poules...

Après la page s'affiche en 3 sec... mais ça fait un total de 29 sec (!!!!)

Est-ce que vous connaitrier un parseur rapide...
qui sorte les résultat pour :
<dossiers>
<dossier id="1">
<fichier id="1">
<fichier id="2">
</dossier>
<dossier id="2">
<fichier id="1">
<fichier id="2">
</dossier>
</dossiers>
en :
$record['/dossiers/dossier[0]/fichier[0]/@id']
ou un truc dans le genre...

OU sinon comment peut on optimiser mon code ???

Merci beaucoup d'avance !!!

florian

ps : la compétition est demain donc je suis dans la ******

5 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,

ben ton code, il faudrait le voir pour savoir si on peut l'optimiser ;-)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Oups, pardon, lol...
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Oki, vu ton fichier xml, apparemment, tu peux te passer d'utiliser les fonctions xml de php. Avec des expreg tu irais plus vite a mon avis.
Messages postés
26
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
6 juin 2005

L'exemple avec les dossiers c'est juste un exemple,
voila un petit bout du veritable code Xml :





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Poule ID= " 1 " Piste ="" Date= " 00:00 ">






<Tireur REF ="64" NoDansLaPoule= " 1 " NbVictoires ="3" NbMatches= " 6 " TD ="22" TR= " 21 " RangPoule ="4" />




<Tireur REF" 44 " NoDansLaPoule"2" NbVictoires= " 0 " NbMatches ="6" TD= " 14 " TR ="30" RangPoule= " 7 " />





<Tireur REF ="55" NoDansLaPoule= " 3 " NbVictoires ="3" NbMatches= " 6 " TD ="25" TR= " 21 " RangPoule ="3" />




<Tireur REF" 77 " NoDansLaPoule"4" NbVictoires= " 6 " NbMatches ="6" TD= " 30 " TR ="11" RangPoule= " 1 " />





<Tireur REF ="87" NoDansLaPoule= " 5 " NbVictoires ="4" NbMatches= " 6 " TD ="24" TR= " 18 " RangPoule ="2" />




<Tireur REF" 24 " NoDansLaPoule"6" NbVictoires= " 2 " NbMatches ="6" TD= " 20 " TR ="27" RangPoule= " 6 " />





<Tireur REF ="25" NoDansLaPoule= " 7 " NbVictoires ="3" NbMatches= " 6 " TD ="19" TR= " 26 " RangPoule ="5" />





<Arbitre REF= " 29 " />





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="1">





<Tireur REF" 64 " Score"5" Statut= " V " />





<Tireur REF ="44" Score= " 2 " Statut ="D" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 2 ">






<Tireur REF ="64" Score= " 1 " Statut ="D" />




<Tireur REF" 55 " Score"5" Statut= " V " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="3">





<Tireur REF" 64 " Score"2" Statut= " D " />





<Tireur REF ="77" Score= " 5 " Statut ="V" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 4 ">






<Tireur REF ="64" Score= " 5 " Statut ="V" />




<Tireur REF" 87 " Score"2" Statut= " D " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="5">





<Tireur REF" 64 " Score"5" Statut= " V " />





<Tireur REF ="24" Score= " 2 " Statut ="D" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 6 ">






<Tireur REF ="64" Score= " 4 " Statut ="D" />




<Tireur REF" 25 " Score"5" Statut= " V " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="7">





<Tireur REF" 44 " Score"4" Statut= " D " />





<Tireur REF ="55" Score= " 5 " Statut ="V" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 8 ">






<Tireur REF ="44" Score= " 2 " Statut ="D" />




<Tireur REF" 77 " Score"5" Statut= " V " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="9">





<Tireur REF" 44 " Score"0" Statut= " D " />





<Tireur REF ="87" Score= " 5 " Statut ="V" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 10 ">






<Tireur REF ="44" Score= " 3 " Statut ="D" />




<Tireur REF" 24 " Score"5" Statut= " V " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="11">





<Tireur REF" 44 " Score"3" Statut= " D " />





<Tireur REF ="25" Score= " 5 " Statut ="V" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 12 ">






<Tireur REF ="55" Score= " 4 " Statut ="D" />




<Tireur REF" 77 " Score"5" Statut= " V " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="13">





<Tireur REF" 55 " Score"2" Statut= " D " />





<Tireur REF ="87" Score= " 5 " Statut ="V" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 14 ">






<Tireur REF ="55" Score= " 4 " Statut ="D" />




<Tireur REF" 24 " Score"5" Statut= " V " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="15">





<Tireur REF" 55 " Score"5" Statut= " V " />





<Tireur REF ="25" Score= " 1 " Statut ="D" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 16 ">






<Tireur REF ="77" Score= " 5 " Statut ="V" />




<Tireur REF" 87 " Score"2" Statut= " D " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="17">





<Tireur REF" 77 " Score"5" Statut= " V " />





<Tireur REF ="24" Score= " 1 " Statut ="D" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 18 ">






<Tireur REF ="77" Score= " 5 " Statut ="V" />




<Tireur REF" 25 " Score"0" Statut= " D " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="19">





<Tireur REF" 87 " Score"5" Statut= " V " />





<Tireur REF ="24" Score= " 3 " Statut ="D" />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID= " 20 ">






<Tireur REF ="87" Score= " 5 " Statut ="V" />




<Tireur REF" 25 " Score"3" Statut= " D " />



</Match>





[file:///C:/Documents%20and%20Settings/MARTIN%20Florian/Grp%20Martin/Programmes/Egn/labit2004_web/labit2004_poules1.xml# -] <Match ID ="21">





<Tireur REF" 24 " Score"4" Statut= " D " />





<Tireur REF ="25" Score= " 5 " Statut ="V" />



</Match>



</Poule>

et 14 fois ça... (12 à 16 poules)
au final je dois me retrouver avec un tableau où sur chaque ligne tu a le tireur suivit de ses résultats matchs par matchs

tu pense que des ereg seraient plus simple ???
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



un preg_match_all() pour sortir toutes les



et ensuite un preg_match_all pour sortir les tireurs, et ensuite un autre pour les matchs.



a +
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>