Parseur XML (beaucoup trop gourmant !!!)

cs_lcmartin Messages postés 26 Date d'inscription jeudi 25 septembre 2003 Statut Membre Dernière intervention 6 juin 2005 - 2 avril 2005 à 14:33
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 2 avril 2005 à 18:53
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

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 avril 2005 à 18:21
Hello,

ben ton code, il faudrait le voir pour savoir si on peut l'optimiser ;-)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 avril 2005 à 18:22
Oups, pardon, lol...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 avril 2005 à 18:23
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.
0
cs_lcmartin Messages postés 26 Date d'inscription jeudi 25 septembre 2003 Statut Membre Dernière intervention 6 juin 2005
2 avril 2005 à 18:27
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 ???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 avril 2005 à 18:53
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>
0
Rejoignez-nous