Trato de leer el siguiente xml, necesito algunos datos de este xml, como son serie receptor, lugar de emisión y otros mas, con el pequeño script que pongo mas abajo obtengo los datos de nombre y rfc, peor por algún motivo cuando me salgo de la rama Receptor y quiero cambiar a Comprobante me aparece el siguiente error
Cita:
Este es el XML que necesito leer AIR9007129M1FC735.xmlWarning: main() [function.main]: Node no longer exists in C:\inetpub\wwwroot\factura\prueba.php on line 8
Warning: main() [function.main]: Node no longer exists in C:\inetpub\wwwroot\factura\prueba.php on line 9
Warning: main() [function.main]: Node no longer exists in C:\inetpub\wwwroot\factura\prueba.php on line 10
Warning: main() [function.main]: Node no longer exists in C:\inetpub\wwwroot\factura\prueba.php on line 11
Warning: main() [function.main]: Node no longer exists in C:\inetpub\wwwroot\factura\prueba.php on line 9
Warning: main() [function.main]: Node no longer exists in C:\inetpub\wwwroot\factura\prueba.php on line 10
Warning: main() [function.main]: Node no longer exists in C:\inetpub\wwwroot\factura\prueba.php on line 11
Cita:
Este es el script que estoy usando.<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:detallista="http://www.sat.gob.mx/detallista" xmlns:implocal="http://www.sat.gob.mx/implocal" xmlns:donat="http://www.sat.gob.mx/donat" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd http://www.sat.gob.mx/detallista http://www.sat.gob.mx/sitio_internet/cfd/detallista/detallista.xsd http://www.sat.gob.mx/donat http://www.sat.gob.mx/sitio_internet/cfd/donat/donat11.xsd" version="3.2" serie="C" folio="735" fecha="2013-08-06T09:52:06" sello="mXXRMVZSp45cOljMsXH3qE4HRFkw0yvfnHXsFWN6UG1/lYB6i0MOGifmrdtfeMDEKHiytiGcdv5m6LzKRnNt66jkA6MJqy nKj+brl8QMxndD1uMuM/BiavTjVFRDgR4fAPWL8AElUr9oLSezaVQXYVE9QHBfpWV42BBJ X1ltD5w=" formaDePago="Pago en una sola exhibición" noCertificado="00001000000203513844"subTotal="1738 .03" TipoCambio="1.000000" Moneda="Pesos" total="2016.12" tipoDeComprobante="ingreso" metodoDePago="TRANSFERENCIA BANAMEX" LugarExpedicion="CUAUTITLAN IZCALLI, ESTADO DE MEXICO" NumCtaPago="3004"><cfdi:Emisor rfc="AIR9007129M1" nombre="AIRIBUZ S.A. DE C.V."><cfdi:DomicilioFiscal calle="GUILLERMO GONZALEZ CAMARENA" noExterior="51" colonia="PARQUE INDUSTRIAL CUAMATLA" localidad="CUAUTITLAN IZCALLI" municipio="CUAUTITLAN IZCALLI, ESTADO DE MEXICO" estado="ESTADO DE MEXICO" pais="MEXICO" codigoPostal="54730"></cfdi:DomicilioFiscal><cfdi:ExpedidoEn calle="GUILLERMO GONZALEZ CAMARENA" noExterior="51" colonia="PARQUE INDUSTRIAL CUAMATLA" localidad="CUAUTITLAN IZCALLI" municipio="CUAUTITLAN IZCALLI" estado="ESTADO DE MEXICO" pais="MEXICO" codigoPostal="54730"></cfdi:ExpedidoEn><cfdi:RegimenFiscal Regimen="PERSONA MORAL REGIMEN GENERAL"></cfdi:RegimenFiscal></cfdi:Emisor><cfdi:Receptor rfc="BIM011108DJ5" nombre="BIMBO SA DE CV"><cfdi:Domicilio calle="MIMOSAS" noExterior="117" colonia="SANTA MARIA INSURGENTES" municipio="CUAUHTEMOC" estado="DF" pais="MEXICO" codigoPostal="06430"></cfdi:Domicilio></cfdi:Receptor><cfdi:Conceptos><cfdi:Concepto cantidad="3.00" unidad="PIEZA" descripcion="ESQ ALUM FUNDICION 10" MT CYT" valorUnitario="210.600000" importe="631.80"></cfdi:Concepto><cfdi:Concepto cantidad="1.00" unidad="PIEZA" descripcion="TABLETA INF C/P 3/4" X 15" X 96" C/HERR" valorUnitario="1106.230000" importe="1106.23"></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos totalImpuestosTrasladados="278.09"><cfdi:Traslados ><cfdi:Traslado impuesto="IVA" tasa="16.00" importe="278.09"></cfdi:Traslado></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><tfd:TimbreFiscal Digital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" FechaTimbrado="2013-08-06T09:52:08" UUID="4be6f903-afbb-437d-9049-4765654e1a95" noCertificadoSAT="00001000000203430011" selloCFD="mXXRMVZSp45cOljMsXH3qE4HRFkw0yvfnHXsFWN6 UG1/lYB6i0MOGifmrdtfeMDEKHiytiGcdv5m6LzKRnNt66jkA6MJqy nKj+brl8QMxndD1uMuM/BiavTjVFRDgR4fAPWL8AElUr9oLSezaVQXYVE9QHBfpWV42BBJ X1ltD5w=" selloSAT="uNbwHHj61zO78U3bpN31ckK4eHCIOCF5zTwqnF86 WJQhulFMakLdvQYaLP2FV6rEdzMx1HXwIGedaFhb41x+f/3BP9N65bcOtup/gT6tzZongVqhIwKQLvIIWK81pW1ooJhfpk2f8IRnwKPbAEevHx f/WBTc3yXy0xRun9FxqJU=" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/TimbreFiscalDigital/TimbreFiscalDigital.xsd"/></cfdi:Complemento>
Código PHP:
1.<?php
2.$sxe = new SimpleXMLElement('AIR9007129M1FC735.xml', null, true);
3.$ns = $sxe->getNamespaces(true);
4.$child = $sxe->children($ns['cfdi']);
5.
6.echo $child->Receptor->attributes()->nombre;
7.echo $child->Receptor->attributes()->rfc;
8.echo $child->DomicilioFiscal->attributes()->calle;
9.echo $child->ExpedidoEn ->attributes()->calle;
10.echo $child->Comprobante->attributes()->serie;
11.echo $child->Comprobante->attributes()->folio;
11.?>