2011-05-18 61 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);