Dal seguente XML che ricevo da una chiamata SOAP devo recuperare una serie di informazioni,

eseguo un iniziale ciclo foreach per scorrere il tag <StatoPSWS> e funziona correttamente, contestualmente al suo interno dovrei creare un ulteriore ciclo foreach per scorrere il tag <areePS> e recuperare i valori <areaCalda> ma qui la situazione non funziona.

XML:

codice:
<soap:....>
<listaStatoPS xmlns="http://myurl.nec">

<StatoPSWS>
<anagraficaPS>...</anagraficaPS>
<esitoRichiesta>...</esitoRichiesta>
<statoPS>
<areePS>
<AreaPS><areaCalda>true</areaCalda></AreaPS>
<AreaPS><areaCalda>false</areaCalda></AreaPS>
<AreaPS><areaCalda>false</areaCalda></AreaPS>
<AreaPS><areaCalda>true</areaCalda></AreaPS>
<AreaPS><areaCalda>true</areaCalda></AreaPS>
</areePS>
</statoPS>
</StatoPSWS>


<StatoPSWS>
<anagraficaPS>...</anagraficaPS>
<esitoRichiesta>...</esitoRichiesta>
<statoPS>
<areePS>
<AreaPS><areaCalda>false</areaCalda></AreaPS>
<AreaPS><areaCalda>false</areaCalda></AreaPS>
<AreaPS><areaCalda>false</areaCalda></AreaPS>
<AreaPS><areaCalda>true</areaCalda></AreaPS>
<AreaPS><areaCalda>false</areaCalda></AreaPS>
</areePS>
</statoPS>
</StatoPSWS>


</listaStatoPS>
<uuid xmlns="http://...">...</uuid>
</ns1:out>
</ns1:getStatoPSResponse>
</soap:Body>
</soap:Envelope>

il primo ciclo foreach funziona ...

codice:
$sxe = new SimpleXMLElement($xml);
$sxe->registerXPathNamespace('listaStatoPS', 'http://myurl.nec');
foreach ($sxe->xpath('//listaStatoPS:StatoPSWS') as $item)
{
    $id_risorsa = (string) $item->anagraficaPS->idRisorsa;
    
    
        $data->registerXPathNamespace('listaStatoPS', 'http://myurl.nec');
        $el2 = $sxe->xpath('//listaStatoPS/StatoPSWS/statoPS/areePS/AreaPS');
      
      foreach ($el2 as $val)
    {
    $valore = (string) $val->areaCalda;
    }
    


}