Получение информации из xml php - PullRequest
0 голосов
/ 25 октября 2010

Я создаю скрипт, который будет брать местоположение пользователей с их ip. Я видел этот api. Но знаю, как я могу получить их в массиве и распечатать их.

Вот пример ссылки: http://ipinfodb.com/ip_query.php?ip=74.125.45.100&timezone=true

На этот образец отвечает

<Response>
<Ip>74.125.45.100</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>06</RegionCode>
<RegionName>California</RegionName>
<City>Mountain View</City>
<ZipPostalCode>94043</ZipPostalCode>
<Latitude>37.4192</Latitude>
<Longitude>-122.057</Longitude>
<TimezoneName>America/Los_Angeles</TimezoneName>
<Gmtoffset>-25200</Gmtoffset>
<Isdst>1</Isdst>
</Response>

Как мне получить информацию из этого массива и распечатать?

Ответы [ 3 ]

1 голос
/ 25 октября 2010

Вы должны посмотреть на simpleXML (http://php.net/manual/en/book.simplexml.php)

Используя simpleXML, вы можете сделать что-то вроде:

$xml = simplexml_load_file($xmlFile,'SimpleXMLElement', LIBXML_NOCDATA);
$ip = (string) $xml->Ip;
$status = (string) $xml->Status;
1 голос
/ 25 октября 2010

Используйте экземпляр SimpleXml и переберите все дочерние узлы

$url = 'http://ipinfodb.com/ip_query.php?ip=74.125.45.100&timezone=true';
$xml = new SimpleXmlElement($url, null, true);

$info = array();
foreach ($xml->children() as $child) {
    $name = $child->getName();
    $info[$name] = $xml->$name;
}

// info['Ip'] = '74.125.45.100', etc
0 голосов
/ 25 октября 2010

Посмотрите на SimpleXML , это самый простой способ анализа XML с помощью PHP.

...