Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/01/2018, 04:29
dfmex
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Pregunta ¿Cómo imprimir únicamente una etiqueta específica XML?

Hola amigos;

En México hubo cambios con la facturación electrónica (versión 3.3) y yo tengo un sistema en PHP que me lee los XML y me los envía a EXCEL.

Pero, con la versión 3.3 ya no me sirve, y necesito un poco de ayuda, pues intento imprimir solo la etiqueta final que contiene la leyenda: "TotalImpuestosTrasladados"

El XML (parte de él) es:

Código:
<cfdi:Conceptos><cfdi:Concepto ClaveProdServ="01010101" NoIdentificacion="000004000021478" Cantidad="1" ClaveUnidad="H87" Unidad="PIEZAS" Descripcion="REB CHESSECA" ValorUnitario="22.04" Importe="22.04" Descuento="0.49">

<cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base="21.5554" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="3.4489" /></cfdi:Traslados></cfdi:Impuestos>
 
 
</cfdi:Concepto>

<cfdi:Concepto ClaveProdServ="01010101" NoIdentificacion="000000000017248" Cantidad="1" ClaveUnidad="H87" Unidad="PIEZAS" Descripcion="CHURROS AZUC" ValorUnitario="17.64" Importe="17.64" Descuento="0.39">

<cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base="17.2477" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="2.7596" /></cfdi:Traslados></cfdi:Impuestos>
 
 </cfdi:Concepto>

<cfdi:Concepto ClaveProdServ="01010101" NoIdentificacion="000000000031007" Cantidad="1" ClaveUnidad="H87" Unidad="PIEZAS" Descripcion="CONO" ValorUnitario="10.58" Importe="10.58" Descuento="0.23">

<cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base="10.3435" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="1.6550" /></cfdi:Traslados></cfdi:Impuestos>
 
 </cfdi:Concepto></cfdi:Conceptos>
 
 <cfdi:Impuestos TotalImpuestosTrasladados="7.86">
 <cfdi:Traslados><cfdi:Traslado Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="7.863448" /></cfdi:Traslados></cfdi:Impuestos>
Como verán, al final una vez que cierran las etiquetas de conceptos están los impuestos totales que me interesan, y quiero solo obtener el valor de dichas etiquetas (Impuesto = 002, TipoFactor = Tasa, TasaOCuota = 0.160000, Importe = 7.863448)


Actualmente los leo así:

Código PHP:
foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Impuestos//cfdi:Traslados//cfdi:Traslado') as $Traslado){
   echo 
$Traslado['TipoFactor']; 
   echo 
"<br />"
   echo 
$Traslado['TasaOCuota']; 
   echo 
"<br />"
   echo 
$Traslado['Importe']; 
   echo 
"<br />"
   echo 
$Traslado['Impuesto']; 
   echo 
"<br />";   
   echo 
"<br />"

Pero, a pesar de que NO ESTOY INCLUYENDO la etiqueta CONCEPTOS me arroja los resultados de los demás...

asi:

Cita:
Tasa
0.160000
3.4489
002

Tasa
0.160000
2.7596
002

Tasa
0.160000
1.6550
002

Tasa
0.160000
7.863448
002
Y básicamente ocupo solo el último no los demás...

¿Alguien me podría orientar por favor ?