<?php
$dati2 = "<PDresponse>
<isStatusOK>true</isStatusOK>
<status>0</status>
<payLoad>
</payLoad>
</PDresponse>";
$response = html_entity_decode($dati2);
$xmlString = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $response);
preg_match_all('/[^(\x20-\x7F)]*/', $xmlString, $badchars);
if(isset($badchars[0]))
{
$badchars[0] = array_unique($badchars[0]);
foreach($badchars[0] as $badchar)
{
$xmlString = preg_replace("/".$badchar."/", utf8_encode($badchar), $xmlString);
}
}
/* adesso posso usare simplexml */
$xmlString = trim(preg_replace('/<\?xml.*\?>/', '', $xmlString, 1));
$xml = simplexml_load_string($xmlString,'SimpleXMLElement', LIBXML_NOCDATA);
//print_r($xml);
/* Verifico che il messaggio non sia ancora sporco, si sa mai*/
if($xml->soapenvBody->sendMessageResponse->sendMessageReturn != NULL)
$xml = simplexml_load_string($xml->soapenvBody->sendMessageResponse->sendMessageReturn);
//print_r($xml);
if(strtolower($xml->isStatusOK) == "true")
$hl7mess = $xml->payLoad->{'ADR_A19'};
else
echo "errore";
print_r($hl7mess);
preferences:
41.55 ms | 402 KiB | 5 Q