Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/02/2012, 12:03
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas al leer XML con SIMPLEXML

El error es porque no te está encontrando el namespace tfd, y según repara2 te faltan pero esto no es cierto porque se puede encontrar en la misma línea.

Lo puedes solucionar así:

Código PHP:
Ver original
  1. <?php
  2. $sxe = new SimpleXMLElement($xml);
  3. $ns = $sxe->getNamespaces(true);
  4. $sxe->registerXPathNamespace('c', $ns['cfdi']);
  5. $sxe->registerXPathNamespace('t', $ns['tfd']);
  6.  
  7. foreach ($sxe->xpath('//t:TimbreFiscalDigital') as $tfd) {
  8.     echo "{$tfd['selloCFD']}<br />";
  9.     echo "{$tfd['FechaTimbrado']}<br />";
  10.     echo "{$tfd['UUID']}<br />";
  11.     echo "{$tfd['noCertificadoSAT']}<br />";
  12.     echo "{$tfd['version']}<br />";
  13.     echo "{$tfd['selloSAT']}<br />";
  14. }

c es un alias de cfdi y t es un alias de tfd.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP