Я пытаюсь написать PHP-скрипт, который отправляет запрос POST на удаленный сервер, а затем анализирует ответ XML.
Я могу выполнить запрос POST, но у меня возникают трудности (из других вопросов SO), которые определяют, как анализировать XML-ответ.
Мой текущий код дает мне: 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;
Что я делаю не так?
используйте simplexml_load_string вместо simplexml_load_file
Вы должны установить опцию cURL, чтобы вернуть передачу
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
Вместо загрузки файла вы хотите загрузить строку.
// Instead of $rxml = simplexml_load_file($response); // You want $rxml = simplexml_load_string($response);