我正在试图用PHP解析这个地址
$url = 'http://pubapi.yp.com/search-api/search/devapi/search?searchloc=91203&term=pizza&format=xml&sort=distance&radius=5&listingcount=10&key=t266jc29dx' ;
$x1 = simplexml_load_file($url);
但这是我一直在想的事情
警告: 使用simplexml_load_file(http://pubapi.yp.com/search-api/search/devapi/search?searchloc=91203): 无法打开流:HTTP请求失败! HTTP / 1.1 500内部 服务器错误...
正如您所看到的,我只获取了部分网址参数。
你能帮忙吗?
答案 0 :(得分:0)
With some quick searching on how to retrieve XML via cURL这就是我检索和解析XML所做的。
我在评论中提到的一个重要原因是你不能将URL直接传递到带有&符号(&)的simple_xml_load_string函数中。它是XML格式的一个代表实体的字符。
<?php
function get_xml_from_url($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$xmlstr = curl_exec($ch);
curl_close($ch);
return $xmlstr;
}
$url = 'http://pubapi.yp.com/search-api/search/devapi/search?searchloc=91203&term=pizza&format=xml&sort=distance&radius=5&listingcount=10&key=t266jc29dx';
$contents = get_xml_from_url($url);
$xml = simplexml_load_string($contents);
echo '<pre>';
print_r($xml);
echo '</pre>';
?>