Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Consulta sobre nodo
Message
From
10/01/2012 12:51:23
Luis Parada
Prosoft´s de Venezuela, C.A.
Valencia, Venezuela
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Other
Title:
Consulta sobre nodo
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01532650
Message ID:
01532650
Views:
97
Likes (1)
Muy Buenas Tardes.
Muchas gracias de antemano

Tengo el archivo XML
adjunto la imagen del xml


Quisiera que me ayudaran en ¿Como seria la programación para poder capturar los valores de cada elementos?

CodigoArticulo = CON-F105SIX
TotalArticulo = 1.00000

CodigoArticulo = CON-CFEA742-0/0
TotalArticulos = 1.00000

CodigoArticulo = CON-EF2401
TotalArticulos =1.00000


Mi programación es la siguiente:

PUBLIC oDocDep

oDocDep=Getfile("XML","Seleccione:","Abrir",0,"Archivos .XML")
IF NOT Cargar_oDOM(oDocDep)
RETURN .f.
ENDIF

Procedure Cargar_oDOM
Lparameter oDoc As MSXML3.DOMDocument.4.0
IF !EMPTY(oDoc)
oDocumento = CREATEOBJECT("MSXML2.DOMDocument.4.0")
lcXML=Filetostr(oDocDep)
oDocumento.Load(oDocDep)
oDocumento.validateOnParse = .F.
oDocumento.Async = .F.
IF oDocumento.ParseError.ErrorCode (diferente) 0
Texto = [Hubo un error en el documento:] + CHR(13) ;
+ [ Linea: ] + TRANSFORM(oDocumento.parseError.Line) + CHR(13) ;
+ [Posición: ] + TRANSFORM(oDocumento.parseError.LinePos) + CHR(13) ;
+ [ razón: ] + TRANSFORM(oDocumento.parseError.Reason)
=MESSAGEBOX( Texto, 16, [Error leyendo XML] )
oDocumento = NULL
RELEASE oDocumento
ELSE
olNodes = oDocumento.selectNodes("//"+"Articulos")
IF olNodes.LENGTH menor= 0 THEN
=MESSAGEBOX("Comprobante inválido. Nodo 'Articulos' no presente.",16,business_loc)
RETURN .F.
ENDIF
ENDIF
ELSE
=MESSAGEBOX("No ha indicado un archivo XML válido",64,business_loc)
RETURN .F.
ENDIF
ENDPROC
Next
Reply
Map
View

Click here to load this message in the networking platform