Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Lettura XML in Access

235 views
Skip to first unread message

bertis...@gmail.com

unread,
Dec 31, 2018, 5:23:22 AM12/31/18
to
Salve,

ho provato a fare numerosi tentativi e a guardare vari tutorial in italiano ed in inglese, ma ancora non sono arrivato all'esito positivo.

Lo scenario è questo:

ho un file XML in locale, il cui percorso è il seguente:

c:\xml\esempio.xml

al cui interno ho numerose righe, ma quelle che a me interessano, al momento sono le seguenti:


<DatiTrasmissione>
<IdTrasmittente>
<IdPaese>IT</IdPaese>
<IdCodice>0000000000</IdCodice>
</IdTrasmittente>
<ProgressivoInvio>1111111111</ProgressivoInvio>
<CodiceDestinatario>222222222222</CodiceDestinatario>
<ContattiTrasmittente>
<Telefono>02333333333</Telefono>
<Email>xx...@yyyy.zz</Email>
</ContattiTrasmittente>
</DatiTrasmissione>


ciò che a me interessa estrarre sono solo due valori, quello contenuto fra i tag TELEFONO e quello contenuto fra i tag EMAIL, al momento li vorrei estrarre in due variabili denominate TEL ed EMAIL. Momentaneamente, per controllare se le variabili assumono il corretto valore ho impostato anche la funzione msgbox.

Ho abilitato all'interno di VBA le librerie Microsoft XML 6.0, quindi sull'evento Clic di un pulsante creato ad hoc, ho inserito il seguente codice vba:


Dim formDOM As DOMDocument
Dim objRoot As IXMLDOMElement
Dim strMsg As String
Dim Percorso as String
Dim TEL As IXMLDOMElement

Percorso = "c:\xml\esempio.xml"

Set formDOM = New DOMDocument

formDOM.resolveExternals = False
formDOM.validateOnParse = False
formDOM.Load (Percorso)

If formDOM.parseError.reason <> "" Then
strMsg = "Error parsing XML file. " & formDOM.parseError.reason
End If

Set objRoot = formDOM.DocumentElement

TEL = objRoot.SelectSingleNode("Telefono").NodeValue

msgbox TEL



Penso sia un problema sulla dichiarazione delle variabili o sulla riga di estrazione del singolo nodo.

Potreste aiutarmi?

Grazie

Saluti e buon anno, vista la data di pubblicazione

SIMONE


BFS

unread,
Dec 31, 2018, 5:49:56 AM12/31/18
to
Dim xmldoc As MSXML2.DOMDocument
Dim xmlSingleNode As MSXML2.IXMLDOMNode

Set xmldoc = New MSXML2.DOMDocument
xmldoc.async = False
xmldoc.Load ("C:\test.xml")
Set xmlSingleNode =
xmldoc.selectSingleNode("//FatturaElettronicaHeader/DatiTrasmissione/ContattiTrasmittente/Telefono")

MsgBox xmlSingleNode.Text

Set xmldoc = Nothing



ciao
BFS


---
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com

bertis...@gmail.com

unread,
Jan 2, 2019, 9:54:14 AM1/2/19
to
Ottimo! Funziona, ho capito anche l'errore commesso....o meglio gli errori!


Grazie mille!
0 new messages