Ver Mensaje Individual
  #7 (permalink)  
Antiguo 08/09/2010, 10:58
JorgeCasas
 
Fecha de Ingreso: marzo-2010
Mensajes: 10
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Factura Electronica en VFP ayuda con XML

Cita:
Iniciado por HalconDivino Ver Mensaje
Que tal Jorge:

Yo supongo que si se puede. Pero no lo he analizado.
Mi segundo aporte de la Factura Electroncia es leer un archivo XML de CFD con VFP y madarlo a imprimir pero eso lo voy hacer como en Octubre ... En este mes estoy implementando la FE con 3 clientes así que sera hasta Octubre cuando lo desarrolle y con gusto lo publique en los foros.

Saludos
A buscando en la red encontre lo que buscaba, aqui te va un pequeño avance, espero te sirva para no iniciar de cero, voy a continuarlo hasta poner toda la info en cursores, cuando lo tenga con gusto lo comparto.

saludos

Local xdoc As MSXML2.DOMDocument
Clear
*!* Creamos un objeto basado en MSXML
xdoc=Createobject('MSXML2.DOMdocument')
*!* Cargamos el archivo XML a procesar
xdoc.Load("muestra.xml")
*!* Llamamos a la función LeerDatos pasándole el nodo raíz
LeerCDs(xdoc.documentElement.childNodes)

Function LeerDatos
Lparameters root As MSXML2.IXMLDOMNode

Local Child As MSXML2.IXMLDOMNode

*!* Aqui se procesan los nodos
For Each Child In root
?Child.nodeName
Do Case
Case Child.nodeName=="Receptor"
?Child.Attributes.Item(0).Text
?Child.Attributes.Item(1).Text
Case Child.nodeName=="Concepto"
?Child.Attributes.Item(0).Text
?Child.Attributes.Item(1).Text
?Child.Attributes.Item(3).Text
Case Child.nodeName=="Traslado"
?Child.Attributes.Item(0).Text
?Child.Attributes.Item(1).Text
?Child.Attributes.Item(2).Text
Endcase
*** Si el nodo que estamos procesando tiene descendencia volvemos a llamar a la función LeerCDs pasandole el nodo actual
*!* Esto sucede cuando se procesa el nodo (Traslados)
If Child.hasChildNodes
LeerCDs(Child.childNodes)
Endif
Endfor
Endfunc