Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Error reading XML Cursor Nodes
Message
De
07/06/2023 18:31:47
Luis Santos
Biglevel-Soluções Informáticas, Lda
Portugal
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Error reading XML Cursor Nodes
Divers
Thread ID:
01686709
Message ID:
01686709
Vues:
99
Hello Comunity,

I build this above code to read XML file and insert the value into Cursor:
LOCAL loXMLDoc, loRoot, loNodes, loNode

* Create a new DOMDocument object
loXMLDoc = CREATEOBJECT("MSXML2.DOMDocument")

* Load the XML file
lcXMLFile = GETFILE("XML")
IF !loXMLDoc.load(lcXMLFile)
    ? "Error loading XML file:"
    ? loXMLDoc.parseError.reason
    RETURN
ENDIF

CREATE CURSOR crs ( ref C(18), qtt N(10,6)) 
* Get the root element of the XML document
loRoot = loXMLDoc.documentElement

* Access multiple nodes using selectNodes
loNodes = loRoot.selectNodes("//SourceDocuments/SalesInvoices/Invoice/Line")


* Loop through the nodes using FOR EACH
FOR EACH loNode IN loNodes
    SELECT crs
    APPEND BLANK

        loNode = loNode.selectSingleNode("ProductCode")
        ? loNode.text
        messagebox(loNode.text)
        replace ref WITH loNode.text
		
        loNode = loNode.selectSingleNode("Quantity")
        ? loNode.text
        messagebox(loNode.text)
        replace qtt WITH VAL(loNode.text)
    * Perform additional operations with the node, if needed

ENDFOR

SELECT crs
BROWSE nowait
But , if i use only :
        loNode = loNode.selectSingleNode("Quantity")
        ? loNode.text
        messagebox(loNode.text)
        replace qtt WITH VAL(loNode.text)
the code work fine, but if have two , like this:
        loNode = loNode.selectSingleNode("ProductCode")
        ? loNode.text
        messagebox(loNode.text)
        replace ref WITH loNode.text
		
        loNode = loNode.selectSingleNode("Quantity")
        ? loNode.text    && ERROR HERE
        messagebox(loNode.text)
        replace qtt WITH VAL(loNode.text)
VFP , return on comment &&ERROR HERE with this message:
LONODE is not an Object

I don´t know why because i need on the same : loNodes = loRoot.selectNodes("//SourceDocuments/SalesInvoices/Invoice/Line"), other values to fill into my cursor.

I send in attachement my XML file.


Someone could give help !

Many thanks,
Luis
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform