Question

    

Cette question a déjà une réponse ici:

         

Je veux trouver le pays, la ville, la latitude et la longitude de l'adresse IP en utilisant php. J'utilise cette URL et il est retournais données au format XML.

http://www.ipgp.net/api/xml/122.163.6.58

Les données sont transmises comme ceci:

<IpLookup>
    <Ip>122.163.6.58</Ip>
    <Code>IN</Code>
    <Country>India</Country>
    <Flag>http://www.ipgp.net/flags/in.png</Flag>
    <City>Calcutta</City>
    <Region>West Bengal</Region>
    <Isp></Isp>
    <Lat>22.5697</Lat>
    <Lng>88.3697</Lng>
</IpLookup>

Quelqu'un peut-il suggérer comment analyser et obtenir le résultat

Était-ce utile?

La solution

Autres conseils

Utilisez le analyseur XML inclus dans PHP?

Je me sers personnellement: http://ipinfodb.com/

Les exemples sont très clairs et concis et l'API est très rapide.

Bonne chance.

L'utilisation de l'API en PHP a déjà décrit dans leur site Web. Pourquoi utiliser mais ne lisez pas?

http://www.ipgp.net/developer-tools/

Je vais vous suggérer d'utiliser ce xpath est plus schéma plus facile pour accéder aux attributs. par exemple pour vos données actuelles je donne les résultats suivants:

$file = 'file.xml';
$xml = new SimpleXMLElement($file, NULL, TRUE);
$ipz = $xml->xpath("/IpLookup/Ip");
$country = $xml->xpath("/IpLookup/Country/");
foreach($ipz as $ip)
{
    foreach($country as $country)
    {
      echo $ip.'<br/>';
      echo $country.'<br/>';
    }
}

ce code vous renvoie le ip et le country pour votre xml actuelle. vous pouvez le modifier à votre façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top