2011-05-18 59 views
4

我正在尝试编写一个PHP脚本,它将POST请求发送到远程服务器,然后解析XML响应。PHP:发送POST请求然后读取XML响应?

我可以做POST请求,但是在解析XML响应时遇到困难(来自其他SO问题)。

我现在的代码给我:Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "1" in /Users/simon/usercreate.php on line 46 - simplexml_load_file($response)行。

我正在使用本地服务器,不知道这是否有所作为。代码:

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL,$url); 
curl_setopt($ch,CURLOPT_POST,count($fields)); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); 
$response = curl_exec ($curl); 
curl_close ($curl); 
echo $response; 
$rxml = simplexml_load_file($response); 
echo $rxml->title; 

我在做什么错?

回答

3

必须设置卷曲选项返回转移

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
1

不必加载文件的,要加载的字符串。

// Instead of 
$rxml = simplexml_load_file($response); 

// You want 
$rxml = simplexml_load_string($response);