par
wouldsmina » 03 nov. 2010, 16:24
Bonjour,
Je me remet au php que je n'ai plus utilisé depuis trop longtemps

! j'ai un petit problème pour parser du XML

, voici ma fonction:
function nominatim_revert ($lon,$lat) {
$url = urlencode('http://nominatim.openstreetmap.org/reverse?format=xml&lat='.$lat.'&lon='.$lon);
$xml = simplexml_load_file($url);
$resultat = new SimpleXMLElement($xml);
return $resultat->reversegeocode->result;
}
cette fonction doit me retourner une adresse selon la longitude et la latitude que je lui donne, mais j'ai un message d'erreur qui me dit que mon fichier xml ne commence pas par <. j'ai pensé à un problème de codage de mon url, mais j'ai pas trouvé de solution. pour l'exemple, voici ce que retourne
http://nominatim.openstreetmap.org/reve ... n=2.348273
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8" ?>
<reversegeocode timestamp='Wed, 03 Nov 10 10:15:21 -0400' attribution='Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0.' querystring='format=xml&lat=48.857067&lon=2.348273'>
<result place_id="12502331" osm_type="node" osm_id="676860072">1, Rue Adolphe Adam, 4th Arrondissement, Paris, 75, 75001, Île-de-France, France</result>
<addressparts>
<house_number>1</house_number>
<road>Rue Adolphe Adam</road>
<city_district>4th Arrondissement</city_district>
<city>Paris</city>
<county>Paris</county>
<postcode>75001</postcode>
<state>Île-de-France</state>
<country>France</country>
<country_code>fr</country_code>
</addressparts>
</reversegeocode>
j'ai essayé d'autre méthode avant simpleXML (plus compliqué d'ailleurs) mais j'ai toujours une erreur.
Merci d'avance pour votre aide, et n'oubliez pas que je suis débutant alors il faut bien m'expliquer...
Bonjour,
Je me remet au php que je n'ai plus utilisé depuis trop longtemps 8-| ! j'ai un petit problème pour parser du XML #-o , voici ma fonction:
[php]function nominatim_revert ($lon,$lat) {
$url = urlencode('http://nominatim.openstreetmap.org/reverse?format=xml&lat='.$lat.'&lon='.$lon);
$xml = simplexml_load_file($url);
$resultat = new SimpleXMLElement($xml);
return $resultat->reversegeocode->result;
}[/php]
cette fonction doit me retourner une adresse selon la longitude et la latitude que je lui donne, mais j'ai un message d'erreur qui me dit que mon fichier xml ne commence pas par <. j'ai pensé à un problème de codage de mon url, mais j'ai pas trouvé de solution. pour l'exemple, voici ce que retourne [url]http://nominatim.openstreetmap.org/reverse?format=xml&lat=48.857067&lon=2.348273[/url]
[code]<?xml version="1.0" encoding="UTF-8" ?>
<reversegeocode timestamp='Wed, 03 Nov 10 10:15:21 -0400' attribution='Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0.' querystring='format=xml&lat=48.857067&lon=2.348273'>
<result place_id="12502331" osm_type="node" osm_id="676860072">1, Rue Adolphe Adam, 4th Arrondissement, Paris, 75, 75001, Île-de-France, France</result>
<addressparts>
<house_number>1</house_number>
<road>Rue Adolphe Adam</road>
<city_district>4th Arrondissement</city_district>
<city>Paris</city>
<county>Paris</county>
<postcode>75001</postcode>
<state>Île-de-France</state>
<country>France</country>
<country_code>fr</country_code>
</addressparts>
</reversegeocode>[/code]
j'ai essayé d'autre méthode avant simpleXML (plus compliqué d'ailleurs) mais j'ai toujours une erreur.
Merci d'avance pour votre aide, et n'oubliez pas que je suis débutant alors il faut bien m'expliquer...