我尝试了一些从URL中加载数据xml的方法,然后才提出这个问题,但所有这些都失败了。同样在XML url中有一些特殊字符。这是错误
Warning: simplexml_load_file(): I/O warning : failed to load external entity " " in D://....;
这是我的代码:
$url = 'http://website.com?xml¶m1=1¶m2=2';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url); // get the url contents
$data = curl_exec($ch); // execute curl request
curl_close($ch);
$xml = simplexml_load_string($data);
$json = json_encode($xml);
echo $json;
感谢每一次帮助
答案 0 :(得分:0)
您可以使用
更简单地加载网址$context = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$url = 'http://website.com?xml¶m1=1¶m2=2';
$xml = file_get_contents($url, false, $context);
$xml = simplexml_load_string($xml);
print_r($xml);
编辑: 在各个地方有一些关于错误403的讨论,一个建议是在此呼叫之前设置用户代理:
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0)');