2014-08-29 4 views
0

Я искал, как читать один узел XML в PHP. Документация PHP не помогла, потому что я не понимаю, как использовать PHP. Все обучающие материалы, которые я нашел, не были полезны beacause, мне нужен PHP только для чтения XML (я использую CSHTML для баз данных и других серверных вещей). У меня есть рабочий код, который может читать XML как дерево, если он находится в формате RSS. Я пытаюсь получить информацию api геокодирования google map, от «http://maps.googleapis.com/maps/api/geocode/xml?latlng=38.7876639,-90.8455276&sensor=false». Мне нужен только первый узел «Formatted_address». Мой текущий код;Чтение одного узла XML в PHP

<?php 
$xml=("http://maps.googleapis.com/maps/api/geocode/xml?latlng=38.7876639,-90.8455276&sensor=false"); 

$xmlDoc = new DOMDocument(); 
$xmlDoc->load($xml); 

//get and output "<result>" elements 
$x=$xmlDoc->getElementsByTagName('result'); 
for ($i=0; $i<=2; $i++) 
    { 
    $item=$x->result($i)->getElementsByTagName('formatted_address') 
    ->result(0)->childNodes->result(0)->nodeValue; 

    echo ($item); 
    } 
?> 

Однако это всегда возвращает ошибку 500, и я не понимаю, что я делаю неправильно. Спасибо всем заранее.

ответ

0

Изменение result в item

$item = $x->item($i)->getElementsByTagName('formatted_address') 
      ->item(0)->childNodes->result(0)->nodeValue; 

Как вы можете видеть DOMNodeList только имеет один метод, называемый item(int $index)

Смежные вопросы