2009-01-13 78 views
8

我有一个PHP驱动的站点,其中包含一个由ASP远程提供的XML股票馈送(即XML馈送url的顺序为:http://remote.com/client.asp)。检查远程文件是否为格式良好的XML使用PHP

由于Feed常常不可用(我的意思是站点返回一个ASP错误),所以我想在包含它之前检查feed是否为格式良好的XML。我常用的url_exists函数并没有做到这一点,因为即使“错误”,URL也确实存在。

TIA。

+1

注意:小心使用术语。您所描述的内容听起来像“格式良好”的XML,这意味着与“有效的”XML不同。 – cletus 2009-01-13 22:24:52

+0

非常正确cletus(谢谢)现在编辑... – da5id 2009-01-13 22:27:50

回答

21

使用cURL得到结果并且simplexml检查XML是否是well-formed

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, "http://remote.com/client.asp"); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($curl); 
curl_close($curl); 
if (simplexml_load_string($output)) { 
    // well-formed XML 
} else { 
    // it isn't 
} 
相关问题