Bonjour,
J'ai fais une recherche mais je n'ai pas trouvé mon bonheur.
J'ai un fichier XML de ce type
Je débute en traitement de fichier XML, le code que j'ai en PHP pourrait paraître débutantesque...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<SESSIONS> <SESSION date="2010-02-28"> <EVENTS> <EVENT eventid="1058" gender="M"> <SWIMSTYLE distance="200" stroke="FREE" /> <AGEGROUPS> <AGEGROUP agegroupid="1059" agemax="11" agemin="11" /> <AGEGROUP agegroupid="1088" agemax="12" agemin="12" /> </AGEGROUPS> </EVENT> <EVENT eventid="1060" gender="F"> <SWIMSTYLE distance="200" stroke="BREAST" /> <AGEGROUPS> <AGEGROUP agegroupid="1094" agemax="11" agemin="11" /> <AGEGROUP agegroupid="1095" agemax="12" agemin="12" /> <AGEGROUP agegroupid="1096" agemax="13" agemin="13" /> </AGEGROUPS> </EVENT> </EVENTS> <SESSION> </SESSION>
Mon souci est que lorsque je veux récupérer les attributs, cela marche pour EVENT, mais pour SWIMSTYLE et AGEGROUP je récupère les mêmes données dans chaque boucle.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 foreach($xml->MEETS->MEET->SESSIONS->SESSION->EVENTS->EVENT as $event) { $eventid = $event['eventid']; $sexe = $event['gender']; $swim = $xml->MEETS->MEET->SESSIONS->SESSION->EVENTS->EVENT->SWIMSTYLE; $dist = $swim['distance']; $styl = $swim['stroke']; echo $dist.$styl; foreach ($xml->MEETS->MEET->SESSIONS->SESSION->EVENTS->EVENT->AGEGROUPS->AGEGROUP as $age) $ageid = $age['agegroupid']; $agemax = $age['agemax']; $agemin = $age['agemin']; echo $agemin.$agemax; } }
Dans l'exemple, j'ai 2 fois "200 FREE" au lieu d'avoir une ligne "200 FREE" et une ligne "200 BREAST", idem pour AGEGROUP.
Une idée ?
