无法在php中将soap响应转换为json格式

时间:2016-10-18 04:13:19

标签: php soap

我正在使用一个支付网关,以xml的形式返回回复,我正在尝试转换为json购买其未转换的内容。我尝试了simplexamlloadfilesimplexmlsting功能等等。

但它不起作用。

代码:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header />
   <SOAP-ENV:Body>
      <ns2:SingleVaultResponse xmlns:ns2="http://www.paygate.co.za/PayHOST">
         <ns2:LookUpVaultResponse>
            <ns2:Status>
               <ns2:StatusName>Completed</ns2:StatusName>
               <ns2:PayVaultData>
                  <ns2:name>cardNumber</ns2:name>
                  <ns2:value>411111xxxxx1111</ns2:value>
               </ns2:PayVaultData>
               <ns2:PayVaultData>
                  <ns2:name>expDate</ns2:name>
                  <ns2:value>012025</ns2:value>
               </ns2:PayVaultData>
               <ns2:PaymentType>
                  <ns2:Method>CC</ns2:Method>
                  <ns2:Detail>Visa</ns2:Detail>
               </ns2:PaymentType>
            </ns2:Status>
         </ns2:LookUpVaultResponse>
      </ns2:SingleVaultResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1 个答案:

答案 0 :(得分:1)

试试这个:

$string2 = 'your xml sting';

$doc = new DOMDocument;
$doc->loadXML($string2);

echo "status => ".$doc->getElementsByTagName('Status')->item(0)->nodeValue;