我对PHP比较陌生。我正在尝试显示来自 restful Web 服务的 XML 响应。下面是我的代码片段:
<?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是空白的。
在你的foreach
循环中,你必须直接使用<LookupResult>
标签,在循环中你不必调用完整的三个,而只需要调用<LookupResult>
子项:
foreach( $xml->LookupResult as $oEntry )
{
echo $oEntry->Symbol . PHP_EOL;
}
另外,我不知道你说的"$xml是空白的"到底是什么意思;顺便说一句,要从SimpleXML
打印出 XML,您可以使用以下语法:
echo $xml->asXML();