2016-03-06 3 views
0

Я относительно новичок в PHP. Я пытаюсь отобразить XML-ответ от успокоительной веб-службы. Ниже мой фрагмент кода:PHP - Неверный запрос (Неожиданный EOF)

<?php 
     if(isset($_GET['submit'])){ 

     $name = $_GET['company']; 

     $url = "http://dev.markitondemand.com/MODApis/Api/v2/Lookup/xml?input=$name"; 
     $client = curl_init($url); 
     curl_setopt($client, CURLOPT_RETURNTRANSFER, 1); 
     $response = curl_exec($client); 
     $xml = new SimpleXMLElement($response); 
     curl_close($client); 

     foreach($xml->LookupResultList as $oEntry){ 
      echo $oEntry->LookupResultList->LookupResult[i]->symbol . "\n"; 
     } 
     } 
    ?> 

Я получаю следующее сообщение об ошибке в консоли:

Invalid request (Unexpected EOF) 

также $ XML является пустым.

+0

Проверьте, что такое '' response''. – mehulmpt

+0

Тогда вы должны проверить, является ли '$ xml' пустым и обрабатывается только, если это не –

+0

. Ответ @MehulMohan имеет теги и значения xml. – Rads

ответ

1

В вашем foreach петли вы должны использовать непосредственно <LookupResult> тег, и внутри цикла вы не должны вызывать полное три, а только <LookupResult> ребенка (детей):

foreach($xml->LookupResult as $oEntry) 
{ 
    echo $oEntry->Symbol . PHP_EOL; 
} 

Кроме того, я не знаю, что именно вы имеете в виду: «$ xml is blank»; BTW, чтобы распечатать XML с SimpleXML, вы можете использовать этот синтаксис:

echo $xml->asXML(); 
Смежные вопросы