修改 如果有人想复制并尝试使用下面给出的代码,它将在localhost中按原样运行。给定的凭据有效。
我有一个php代码,它从API服务请求数据。发送XML请求,并作为响应接收XML数据。我已将Respose数据存储在变量$output
中。执行echo $output
时,将打印XML响应中的详细信息。但是现在我需要解析此响应并将所需的数据存储在变量中。例如:我需要保存$customer_id =
中的<customer_id>12345</customer_id>
值。我对谷歌进行了彻底的搜索,并尝试了不同开发人员提供的所有代码段,但没有用。
我尝试了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);
?>