Foros del Web » Programando para Internet » PHP »

atributos con SimpleXML

Estas en el tema de atributos con SimpleXML en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/09/2017, 10:38
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 19 años, 3 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.
  #2 (permalink)  
Antiguo 30/09/2017, 12:26
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: atributos con SimpleXML

Hola Turdo,

Se me ocurre lo siguiente, no sé si te será fácil de implementar y ahora no puedo probar:

Verificar si se asignó el valor y en caso negativo cambiar la primera letra a mayúscula.

No sé si te servirá, espero que sí...

Etiquetas: atributos, simplexml
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 13:44.