Estoy tratando de leer un xml que puede tener la siguiente estructura:
<cfdi:Impuestos totalImpuestosRetenidos= "0.00" totalImpuestosTrasladados= "5.64">
<cfdi:Retenciones>
<cfdi:Retencion impuesto="IVA" importe="0.00"/>
<cfdi:Retencion impuesto="ISR" importe="0.00"/>
</cfdi:Retenciones>
<cfdi:Traslados>
<cfdi:Traslado impuesto="IVA" tasa="16.00" importe="5.64"/>
<cfdi:Traslado impuesto="IEPS" tasa="0.00" importe="0.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
El tema es que necesito los nodos retención/traslado, tengo estas líneas y funcionan bien obteniendo los nodos "padres", que son retenciones/traslados, pero no he podido hacer la lectura dentro de este mismo ciclo para obtener todos los nodos y los atributos.
tengo algo así:
Code: Select all
FCFDI_Impuestos := mxmlFindElement( FMXML, FMXML, "cfdi:Impuestos", NIL, NIL, MXML_DESCEND )
subnode := mxmlGetFirstChild( FCFDI_Impuestos )
DO WHILE subnode != NIL
IF mxmlGetType( subnode ) == MXML_ELEMENT
? mxmlGetElement( subnode )
ENDIF
subnode := mxmlGetNextSibling( subnode )
ENDDO
<cfdi:Impuestos totalImpuestosTrasladados= "5.64">
<cfdi:Traslados>
<cfdi:Traslado impuesto="IVA" tasa="16.00" importe="5.64"/>
<cfdi:Traslado impuesto="IEPS" tasa="0.00" importe="0.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
el código de arriba, simplemente devuelve
cfdi:Retenciones
cfdi:Traslados
o
cfdi:Traslados
he tratado con algunas combinaciones para después de obtener estos nodos, obtener el resto de la información, pero hasta el momento no me ha funcionado..., alguna idea?.
Agradezco cualquier tip que me pueda dar alguna luz en el camino.
Saludos,
Javier