XLM parser : comment accèder à certains éléments d'un XML
Bonjour
Je n'arrive pas à accéder à certains éléments (en gras dans l'extrait ci-dessous) d'un XML que j'ai à exploiter.
Voici un extrait du xml
Code:
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
| <?xml version="1.0" encoding="UTF-8"?>
<XLS version="1.2" xmlns="http://www.opengis.net/xls"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xls="http://www.opengis.net/xls"
xmlns:xlsext="http://www.opengis.net/xlsext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://wxs.ign.fr/schemas/olsAll.xsd">
<ResponseHeader/>
<Response requestID="abc" version="1.2">
<ReverseGeocodeResponse>
<ReverseGeocodedLocation>
<gml:Point>
<gml:pos>45.950091 1.134881</gml:pos>
</gml:Point>
<Address countryCode="PositionOfInterest">
<StreetAddress/>
<Place type="Municipality">peyrilhac</Place>
<Place type="Departement">87</Place>
<Place type="Bbox">1.057805;45.932981;1.177533;45.995295</Place>
<Place type="Importance">4</Place>
<Place type="Commune">Peyrilhac</Place>
<Place type="INSEE">87118</Place>
<Place type="Nature">Commune</Place>
<Place type="Territoire">FXX</Place>
<PostalCode>87510</PostalCode>
</Address>
<xlsext:ExtendedGeocodeMatchCode>City</xlsext:ExtendedGeocodeMatchCode>
<SearchCentreDistance value="0.00"/>
</ReverseGeocodedLocation> |
Voici un extrait du code PHP utilisé
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $xml = simplexml_load_string($texte);
// print_r($xml->Response); exit;
// $reponse .= $xml->Response['requestID'] . "\n";
$Lieudit=$Commune='';
foreach($xml->Response->ReverseGeocodeResponse->ReverseGeocodedLocation as $ReverseGeocodeLocation) {
// print_r($ReverseGeocodeResponse); exit;
$Point = $ReverseGeocodeLocation->{'gml:Point'};
print_r($Point)."<hr>";
$aPlace[] = array();
$aPlace['LAT_LON'] = (string)$Point->{'gml:pos'};
$aPlace['Distance'] = (string)$ReverseGeocodeLocation->SearchCentreDistance["value"];
$Address = $ReverseGeocodeLocation->Address;
foreach ($Address->Place as $Place) {
$type = (string)$Place['type'];
$aPlace[$type] = (string)$Place;
} |
Je crois avoir essayé toutes les combinaisons pour gml, gml:Point ...
Une idée ?