Ejemplo en FoxPro
Código:
function recorrerConceptos(h)
local hn, hc, pnode, i, lc
* Si esta en modo multihilo de la DLL, deberá usar
* hn = cfdi_raiz(h)
hn=xml_node(0,"")
if hn != 0
hc=xml_node(hn,"cfdi:Comprobante/cfdi:Conceptos")
for i=1 to xml_node_children_number(hc)
pnode=xml_node_by_index(hc,i)
if pnode != 0
lc = xml_node_attribute(pnode,"noIdentificacion")
lc = xml_node_attribute(pnode,"descripcion")
lc = xml_node_attribute(pnode,"cantidad")
lc = xml_node_attribute(pnode,"unidad")
lc = xml_node_attribute(pnode,"valorUnitario")
lc = xml_node_attribute(pnode,"importe")
endif
endfor
endif
return .T.
endfunc
function recorrerImpuestos(h)
local hn, hc, pnode, i, lc
* Si esta en modo multihilo de la DLL, deberá usar
* hn = cfdi_raiz(h)
hn=xml_node(0,"")
if hn != 0
hc=xml_node(hn,"cfdi:Comprobante/cfdi:Impuestos/cfdi:Retenciones")
for i=1 to xml_node_children_number(hc)
pnode=xml_node_by_index(hc,i)
if pnode != 0
lc = xml_node_attribute(pnode,"impuesto")
lc = xml_node_attribute(pnode,"importe")
endif
endfor
hc=xml_node(hn,"cfdi:Comprobante/cfdi:Impuestos/cfdi:Traslados")
for i=1 to xml_node_children_number(hc)
pnode=xml_node_by_index(hc,i)
if pnode != 0
lc = xml_node_attribute(pnode,"impuesto")
lc = xml_node_attribute(pnode,"tasa")
lc = xml_node_attribute(pnode,"importe")
endif
endfor
endif
return .T.
endfunc