Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2017, 10:38
Avatar de Turdo
Turdo
 
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 18 años, 9 meses
Puntos: 23
atributos con SimpleXML

Qué tal amigos foreros? Hoy tengo una consulta de SimpleXML de PHP. Pues resulta que obtengo diversos XML que son las facturas (en México) de los proveedores y el formato de los atributos siempre es el mismo:

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. 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"
  5. 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($pathNULLTRUE);
$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
Saben si es posible leer el atributo sin importar si tiene minúsculas o mayúsculas?

Saludos!
__________________
Un buen programa depende de la imaginación.