'
' ricerca parametri
' gestione di un file parametri
' ricerca tramite espressione regolare.
' il file parametri ha la struttura similare ad un file xml.
' utilizzato per sopperire alle incoerenza dei file xml che non posso contenere tag numerici,
'
option explicit
'
dim htmlrisposta
'
htmlrisposta = cercaParametrihtml(182, "natura")
'
msgbox "finale: " & htmlrisposta
'
' ===============
'
'
' ===============
'
Function informazioni(precord, pcampo)
dim parchivio, strHTML
parchivio= '"C:\lavoro-2016\db-informazioni.xml"
parchivio= dbinformazioni
dim filesys, readfile, jtxt
set filesys = CreateObject ("Scripting.FileSystemObject")
If (filesys.FileExists(parchivio)) Then
'msg = filespec & " esiste."
set readfile = filesys.OpenTextFile(parchivio, 1, false)
strHTML = readfile.ReadAll
Else
'msg = filespec & " Non esiste."
Set readfile = filesys.CreateTextFile(pArchivio, TRUE)
'
jtxt = "<vuoto>mancano paramenti</vuoto>"
readfile.WriteLine(jtxt)
strHTML = jtxt
End If
'
readfile.close
'
dim oRegex, criterio, trovatocampo, trovatorecord
set oRegex = CreateObject("vbscript.regexp")
oRegex.Global = 1
oRegex.Multiline = 1
oRegex.IgnoreCase = 1
'
trovatocampo = ""
trovatorecord = ""
' ----
criterio = "<" & precord & ">((?:.|\n|\r)*?)</" & precord & ">"
'
oRegex.Pattern = criterio
If oRegex.Test(strHTML) = true Then
trovatorecord = oRegex.Execute(strHTML).item(0).SubMatches.item(0)
else
trovatorecord = ""
end if
' ---
criterio = "<" & pcampo & ">((?:.|\n|\r)*?)</" & pcampo & ">"
'
oRegex.Pattern = criterio
If oRegex.Test(trovatorecord) = true Then
trovatocampo = oRegex.Execute(trovatorecord).item(0).SubMatches.item(0)
else
trovatocampo = ""
end if
'
informazioni = trovatocampo
'
end Function
'
'=====
'
‘
‘ esempio del file db-informazioni.xml
‘
<fatturaelettronica>
<dadef1>
<natura>N1</natura>
<RiferimentoNormativo>RiferimentoNormativo</RiferimentoNormativo>
<agenzia> N1 escluse ex art. 15 <agenzia>
</dadef1>
<dadef2>
<natura>N2</natura>
<RiferimentoNormativo>RiferimentoNormativo</RiferimentoNormativo>
<agenzia> N2 non soggette <agenzia>
</dadef2>
<182>
<natura>N3</natura>
<RiferimentoNormativo>Non imponibile per dichiarazione di intento art 8 2c dpr 633-72</RiferimentoNormativo>
<agenzia>N3 non imponibili </agenzia>
</182>
<dadef3>
<natura>N4</natura>
<RiferimentoNormativo>RiferimentoNormativo</RiferimentoNormativo>
<agenzia> N4 esenti <agenzia>
</dadef3>
<dadef4>
<natura>N5</natura>
<RiferimentoNormativo>RiferimentoNormativo</RiferimentoNormativo>
<agenzia> N5 regime del margine <agenzia>
</dadef4>
<dadef5>
<natura>N6</natura>
<RiferimentoNormativo>RiferimentoNormativo</RiferimentoNormativo>
<agenzia> N6 inversione contabile (reverse charge) <agenzia>
</dadef5>
</fatturaelettronica>
Nessun commento:
Posta un commento