Bonjour,

je souhaite récupérer toutes les valeurs du flux suivant:

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
22
23
24
25
26
27
28
29
30
31
 
<kplist xmlns="..." ... >
 <kp id="48000748" shortId="00748">
  <name>NAME</name>
  <address>
   <street>STREET</street>
   <zip>ZIP</zip>
   <city>CITY</city>
  </address>
  <status available="1" code="ACTIVE"/>
   <openingHours>
    <day name="MON">
     <timespan><start>14:00</start><end>19:30</end></timespan></day>
    <day name="TUE">
     <timespan><start>10:00</start><end>19:30</end></timespan></day>
    <day name="WED">
     <timespan><start>10:00</start><end>19:30</end></timespan></day>
    <day name="THU">
     <timespan><start>10:00</start><end>19:30</end></timespan></day>
    <day name="FRI">
     <timespan><start>10:00</start><end>19:30</end></timespan></day>
    <day name="SAT">
     <timespan><start>10:00</start><end>13:30</end></timespan>
     <timespan><start>14:00</start><end>17:30</end></timespan></day>
    <day name="SUN"/>
   </openingHours>
 </kp>
 <kp>
 ...
 </kp>
 </kplist>
Pour cela, j'utilise SimpleXML avec le code suivant:

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
 
$kplist = simplexml_load_file("http://...");
 
foreach( $kplist->kp as $kp ){
  $kp_id = $kp["id"];
  $kp_short_id = $kp["shortId"];
  $kp_name = (string)$kp->name;
  $kp_adress_street = (string)$kp->address->street;
  $kp_adress_zip = (string)$kp->address->zip;
  $kp_adress_city = (string)$kp->address->city;
  $kp_adress_locationhint = (string)$kp->address->locationHint;
  $kp_status = (string)$kp->status["code"];
 
  foreach( $kplist->status->openingHours as $day ){
    $kp_day= (string)$day["name"];
    ....
  }
}
Je bloque sur la récupération des valeurs dans le nœud "openingHours".
Je souhaite collecter pour chaque jour de la semaine, tous les horaires.

Pouvez-vous m'indiquer mon problème de syntaxe dans le second foreach ?

Altecad