Funzione per estrapolare dati da un Xml

Salve a tutti,
mi riaffaccio alla programmazione Xojo dopo parecchi mesi di latitanza. Gi prima ci sapevo fare poco, ora sono quasi totalmente arrugginito. Oltretutto non avevo mai “lavorato” sui files xml in precedenza
Vi chiedo aiuto per questo:
vorrei estrapolare da un file Xml di una fattura elettronica dei dati in modo poi da porterli salvare in un mio database. possibile secondo voi creare una funzione alla quale passando per esempio la stringa “ProgressivoInvio” mi restituisca il valore associato a quel tag?
Grazie per la collaborazione che mi vorrete dare.

Ciao, io ho gi sviluppato tutta la parte di lettura della fattura elettronica. compresa la stampa.
Non difficile, ma nemmeno troppo facile.
Tra l’altro ho creato anche un sistema per la lettura della casella PEC, quando all’interno trova un file xml ( che contiene al suo interno il tag della fattura elettronica ) mostra la notifica.

Qui il video.

supponiamo che tu voglia leggere la parte


puoi fare:
mKey= “//CedentePrestatore//DatiAnagrafici//IdFiscaleIVA”
e leggere il nodo usando : nodes= xmlDoc.XQL(myKey)

o anche aggiungendo alla fine della chiave (come ulteriore nodo) text()
In questo modo se il nodo ha un valore (testuale) lo avrai direttamente.

Altrimenti avrai un nodo e dovrai verificare se esiste un figlio di tipo testo e leggerne il valore

Ho cercato di provare ma “nodes” che cos’ una stringa?

e come faccio ad aggiungere text() alla fine della chiave?

Più tardi ti posto qualche info…

XQL restituisce una XmlNodeList per cui, NO non una stringa ma una lista di nodi.
Per vedere se ci sono risultati devi valutarne la propriet length e per valutare un nodo usare il metodo item.

Nel nostro caso d’esempio:

Dim mKey As String= "//CedentePrestatore//DatiAnagrafici//IdFiscaleIVA//text()"
Dim nodes As XmlNodeList=xmlDoc.XQL(mKey)
Dim n As Integer=nodes.Length
Dim valore As String
If n>0 Then valore=nodes.Item(0).Value

Perfetto, Grazie Antonio! funziona! adesso mi metto queste istruzioni in una funzione cosi poi richiamo i vari valori che mi interessano.