Hola, hace tiempo me tope con la misma problemática; como lo resolví fue con el siguiente fragmento de código:
Código PHP:
<?php
$resultado='';
$fecha_tc='';
$tc='';
$client = new SoapClient(null, array('location' => 'http://www.banxico.org.mx:80/DgieWSWeb/DgieWS?WSDL',
'uri' => 'http://DgieWSWeb/DgieWS?WSDL',
'encoding' => 'ISO-8859-1',
'trace' => 1) );
try
{
$resultado = $client->tiposDeCambioBanxico();
}
catch (SoapFault $exception)
{
}
if(!empty($resultado))
{
$dom = new DomDocument();
$dom->loadXML($resultado);
$xmlDatos = $dom->getElementsByTagName( "Obs" );
if($xmlDatos->length>1)
{
$item = $xmlDatos->item(1);
$fecha_tc = ffecha($item->getAttribute('TIME_PERIOD'));
$tc = $item->getAttribute('OBS_VALUE');
}
}
?>
Como pueden ver no hay mucha validación y se puede mejorar mucho, en la variable tc se guarda el tipo de cambio y en la variable fecha_tc la fecha devuelta para dicho tipo de cambio.
Leyendo el código mostrado por mitto_33, en principio me parece correcto y no se ve el valor del tipo de cambio porque seguramente el navegador lo oculta al ser un xml; deberías probar viendo el código fuente oculto en el navegador (clic derecho, ver código fuente, también me paso,

)
S2