Редактировать Код, приведенный ниже, будет работать в localhost как есть, если кто-то захочет скопировать и попробовать его. Указанные учетные данные действительны.
У меня есть php-код, который запрашивает данные у службы API.Запрос XML отправляется, и в ответ получаются данные XML.Я сохранил данные respose в переменной $output
.При выполнении echo $output
информация в ответе XML печатается.Но теперь мне нужно разобрать этот ответ и сохранить необходимые данные в переменных.Например: мне нужно сохранить значение $customer_id =
из <customer_id>12345</customer_id>
.Я провел тщательный поиск в Google и попробовал все фрагменты, предоставленные разными разработчиками, но безрезультатно.
Я пытался var_dump(simplexml_load_string($output));
, и он возвращает object(SimpleXMLElement)#1 (0) { }
.Я даже пытался преобразовать данные XML в массив.
index.php
<?php
$appId ="MFS149250";
$appPass ="5TEBRPCZ";
$brokeCode ="ARN-149250";
$iin = "5011217983";
$xml_data = '<?xml version="1.0" encoding="UTF-8"?>
<NMFIIService>
<service_request>
<appln_id>'.$appId.'</appln_id>
<password>'.$appPass.'</password>
<broker_code>'.$brokeCode.'</broker_code>
<iin>'.$iin.'</iin>
</service_request>
</NMFIIService>';
$URL = "https://uat.nsenmf.com/NMFIITrxnService/NMFTrxnService/IINDETAILS";
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_MUTE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
//echo "<textarea>".$output."</textarea>";
echo $output;
var_dump(simplexml_load_string($output));
curl_close($ch);
?>