Foros del Web » Programando para Internet » PHP »

Como sacar datos de un XML

Estas en el tema de Como sacar datos de un XML en el foro de PHP en Foros del Web. Buen dia foro Tengo un problema al momento de recibir una respuesta de una web service. Esta respuesta es un XML del cual necesito obtener ...
  #1 (permalink)  
Antiguo 17/12/2012, 08:43
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta Como sacar datos de un XML

Buen dia foro

Tengo un problema al momento de recibir una respuesta de una web service. Esta respuesta es un XML del cual necesito obtener algunos datos pero no se como accesar a ellos ya he intentado varias cosas pero ninguna me ha dado resultado la estructura de la respuesta es esta:

Código PHP:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  <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/cfdv32.xsd" version="3.2" serie="A" folio="1" fecha="2012-12-12T19:30:19" sello="BwsIMPFkKEEjuFIoiSQE/oaS9ErSPYyBqwTWXNAkVa8VaFIDGKP2EYGWH73bICjcpx9qaAIFzcuPvDS+b5226Olq3F3QwDDSi7IVGgBBnERHucP7pUUJCTQPkkwpc8V/FPmWO0zA7ZiXqgHOnU+aGw8zPwhKzZ2M8RZRMkihpZg=" formaDePago="Pago en una sola exhibición" noCertificado="20001000000100005867" certificado="MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NjcwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMDBaFw0xNjA3MjcxNzAyMDBaMIHbMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxETAPBgNVBAsTCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2TTQSPONBOVxpXv9wLYo8jezBrb34i/tLx8jGdtyy27BcesOav2c1NS/Gdv10u9SkWtwdy34uRAVe7H0a3VMRLHAkvp2qMCHaZc4T8k47Jtb9wrOEh/XFS8LgT4y5OQYo6civfXXdlvxWU/gdM/e6I2lg6FGorP8H4GPAJ/qCNwIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEATxMecTpMbdhSHo6KVUg4QVF4Op2IBhiMaOrtrXBdJgzGotUFcJgdBCMjtTZXSlq1S4DG1jr8p4NzQlzxsdTxaB8nSKJ4KEMgIT7E62xRUj15jI49qFz7f2uMttZLNThipunsN/NF1XtvESMTDwQFvas/Ugig6qwEfSZc0MDxMpKLEkEePmQwtZD+zXFSMVa6hmOu4M+FzGiRXbj4YJXn9Myjd8xbL/c+9UIcrYoZskxDvMxc6/6M3rNNDY3OFhBK+V/sPMzWWGt8S1yjmtPfXgFs1t65AZ2hcTwTAuHrKwDatJ1ZPfa482ZBROAAX1waz7WwXp0gso7sDCm2/yUVww==" subTotal="350.00" total="406.00" metodoDePago="Transferencia" tipoDeComprobante="ingreso" LugarExpedicion="México DF" condicionesDePago="60 días">
  3.  <cfdi:Emisor nombre="ACCEM SERVICIOS EMPRESARIALES, S.C." rfc="AAA010101AAA">
  4.  <cfdi:DomicilioFiscal calle="Atmósfera" noExterior="2985" colonia="Jardines del Bosque" municipio="Guadalajara" estado="Jalisco" pais="México" codigoPostal="44520" />
  5.  <cfdi:RegimenFiscal Regimen="Régimen General de Ley Personas Morales" />
  6.  </cfdi:Emisor>
  7.  <cfdi:Receptor nombre="Arrendadora de Hoteles S.A. de C.V." rfc="AHO9809247DA">
  8.  <cfdi:Domicilio calle="Av. De los Héroes No. 201" colonia="Col. Centro Cívico" localidad="Monterrey" estado="Baja California" pais="México" codigoPostal="21000" />
  9.  </cfdi:Receptor>
  10.  <cfdi:Conceptos>
  11.  <cfdi:Concepto cantidad="10" unidad="Caja" descripcion="Vasos decorados" valorUnitario="20.00" importe="200.00" />
  12.  <cfdi:Concepto cantidad="1" unidad="Pieza" descripcion="Charola metálica" valorUnitario="150.00" importe="150.00" />
  13.  </cfdi:Conceptos>
  14.  <cfdi:Impuestos totalImpuestosTrasladados="56.00">
  15.  <cfdi:Traslados>
  16.  <cfdi:Traslado impuesto="IVA" tasa="16" importe="56.00" />
  17.  </cfdi:Traslados>
  18.  </cfdi:Impuestos>
  19.  <cfdi:Complemento>
  20.  <tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" version="1.0" UUID="9C902DF9-77A8-4C73-8BA0-F4CEB0DCDEC1" FechaTimbrado="2012-12-14T13:38:19" selloCFD="BwsIMPFkKEEjuFIoiSQE/oaS9ErSPYyBqwTWXNAkVa8VaFIDGKP2EYGWH73bICjcpx9qaAIFzcuPvDS+b5226Olq3F3QwDDSi7IVGgBBnERHucP7pUUJCTQPkkwpc8V/FPmWO0zA7ZiXqgHOnU+aGw8zPwhKzZ2M8RZRMkihpZg=" noCertificadoSAT="20001000000100005761" selloSAT="0AFQNWM5bCrBiGJ/KNOxnMIdzEMKePEKB+eq7mKWyV56ZZbh9Qt5bgjjaHJY1U+ow8cX94YuIZ/I8GgRPsDydu3Re2kVxH2qb6nsWzbgHnz03neKqyHL+1qTqC1GjXyDJKdWAj9IecCxjrEK+Bdn5R2WjqwvZlZMmDRp/oDuvIY=" />
  21.  </cfdi:Complemento>
  22.  </cfdi:Comprobante>


De antemano muchas gracias
__________________
Lo imposible solo cuesta un poco mas
  #2 (permalink)  
Antiguo 17/12/2012, 09:07
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Como sacar datos de un XML

Con simple XML es muy sencillo, de verdad.

Échale un vistazo y sino lo logras pregunta por aquí las dudas:
http://php.net/manual/es/simplexml.examples-basic.php
  #3 (permalink)  
Antiguo 17/12/2012, 13:17
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Como sacar datos de un XML

Por ejemplo para obtener el nombre del receptor:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $sxe = new SimpleXMLElement($xml);
  4. $ns = $sxe->getNamespaces(true);
  5. $child = $sxe->children($ns['cfdi']);
  6. echo $child->Receptor->attributes()->nombre; //Arrendadora de Hoteles S.A. de C.V.

También puede servirte el método xpath de esta clase.

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

Etiquetas: xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:27.