Buongiorno ho la necessita di leggere e riportare in un database dei dati presenti in vari file xml,i file non sono tutti uguali perciò quando provo a leggere un valore non presente in un file mi da errore "java.lang.NumberFormatException: For input string: "null" ",per leggere i file uso la libreria xml2map, cerco suggerimenti su come gestire la presenza ho meno di un determinato valore.
Spero di essere riuscito a spiegarmi
cco il codice che uso per leggere i file
Spero di essere riuscito a spiegarmi
cco il codice che uso per leggere i file
B4X:
Dim xm As Xml2Map
xm.Initialize
parsedData = xm.Parse(File.ReadString(File.DirAssets, "sandro.xml"))
'ParsedData = File.ReadMap(File.DirAssets, "test.xml")
'Log(parsedData.ContainsKey("p:FatturaElettronica"))
'ListView1.SingleLineLayout.ItemHeight = 60dip
Dim namespacexml As String
If parsedData.GetKeyAt(0) = "p:FatturaElettronica" Then
namespacexml = "p:FatturaElettronica"
Else
namespacexml="ns3:FatturaElettronica"
End If
Log(parsedData.GetKeyAt(0))
Dim fatturaelettronica As Map = parsedData.get(namespacexml)
Dim body As Map = fatturaelettronica.get("FatturaElettronicaBody")
Dim header As Map = fatturaelettronica.Get("FatturaElettronicaHeader")
'Log(header)
Dim cedenteP As Map = header.Get("CedentePrestatore")
Dim datiAnagrafici As Map = cedenteP.Get("DatiAnagrafici")
Dim anagraficaFornitore As Map = datiAnagrafici.Get("Anagrafica")
'Log(anagraficaFornitore)
Dim denominazioneFornitore As String = anagraficaFornitore.Get("Denominazione")
Log(denominazioneFornitore)
Dim datibeniservizi As Map = body.Get("DatiBeniServizi")
Dim dettagliolinee As List = datibeniservizi.Get("DettaglioLinee")
For Each articoli As Map In dettagliolinee
Dim descrizioneArticolo As String = articoli.Get("Descrizione")
Dim quantitaArticolo As Double = articoli.Get("Quantita")
Dim prezzounitario As String = articoli.Get("PrezzoUnitario")
If descrizioneArticolo ="Cauzioni" Then Exit
Log("Descrizione " & descrizioneArticolo)
Log("Quantita " & quantitaArticolo)
Log("Prezzo " & prezzounitario)
Next