Código XML:
Ver original
<?xml version="1.0" encoding="UTF-8"?> <cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd" version="3.3" serie="A" folio="2197" ...>
Pero en raras ocasiones los atributos tienen la primera letra en mayúsculas: Version="3.3" Serie="A" Folio="2197" como ya sabemos en XML se distingue de mayúsculas y minúsculas, esto hace que al momento de cargar los datos ya no los pueda leer. Lo hago de la siguiente manera:
Código PHP:
$xml = new SimpleXMLElement($path, NULL, TRUE);
$ns = $xml->getNamespaces(true);
$fechaf = $xml->attributes()->fecha;//<---- Aquí si el atributo es Fecha y no fecha ya no lo leyó y tampoco asigno el valor.
$forma = $xml->attributes()->formaDePago;
$metodo = $xml->attributes()->metodoDePago;
Saludos!