Bonjour,
J'ai fais une recherche mais je n'ai pas trouvé mon bonheur.
J'ai un fichier XML de ce type

Code : 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
<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>
Je débute en traitement de fichier XML, le code que j'ai en PHP pourrait paraître débutantesque...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}
}
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.
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 ?