2012-03-21 5 views
0

Я пытаюсь получить некоторые данные с сайта wikimapia, внедряя их API. Когда я пытаюсь выполнить итерацию значений, он выполняет итерацию только значений «id». Пожалуйста, смотрите мой PHP код ниже для получения данных:Iterate xml values ​​(wikimapia)

<?php 

$url = ("http://api.wikimapia.org/?function=search&key=****&q=buildings&lat=51.5424&lon=-0.1734&count=20&page=1"); 

$xml = simplexml_load_file($url); 

foreach ($xml->place as $entry) { 

echo $entry->attributes()->id; 
echo $entry->attributes()->name; 
echo $entry->attributes()->url; 
echo $entry->attributes()->lat; 
echo $entry->attributes()->lon; 

} 
// Process XML file 

?> 

Найти ниже отрывок из структуры XML с сайта:

<?xml version="1.0" encoding="utf-8"?> 
<?access-control allow="*"?> 
<folder language="en" version="1.0" found="87" page="1" count="20"> 
<place id="18508464"> 
<name>Miles Buildings</name> 
<url>http://wikimapia.org/18508464/Miles-Buildings</url> 
<location> 
<lon>-0.1703605</lon> 
<lat>51.5211928</lat> 
<north>51.5218053</north> 
<south>51.5205803</south> 
<east>-0.1696712</east> 
<west>-0.1710498</west> 
</location> 
<polygon> 
<point x="-0.1699769" y="51.5218053"/> 
<point x="-0.1696712" y="51.5214648"/> 
<point x="-0.1703846" y="51.5211177"/> 
<point x="-0.1699823" y="51.5206971"/> 
<point x="-0.1703203" y="51.5205803"/> 
<point x="-0.1708031" y="51.5209341"/> 
<point x="-0.1707333" y="51.5209741"/> 
<point x="-0.1710498" y="51.5212812"/> 
</polygon> 
</place> 
</folder> 

Что я делаю неправильно? Спасибо.

ответ

0

атрибутов папок:

language="en" version="1.0" found="87" page="1" count="20" 

другие являются дочерними узлами, попробуйте использовать print_r($xml);, чтобы увидеть, что вы получите

+0

Это не решает – akinboj

+0

Какой выход? вы должны увидеть объект и узлы как '[]' – alvariux

+0

@ alvariux: см. редактирование для вывода узлов – akinboj