Italian Leggere un file xml

Stefano Bordini

Member
Licensed User
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
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
 

Star-Dust

Expert
Licensed User
Vedi se ti può essere utile questa libreria.
 

Stefano Bordini

Member
Licensed User
Vedi se ti può essere utile questa libreria.
Grazie la provo subito cerco di leggere propri delle fatture elettroniche,funziona anche per b4j?
 

Star-Dust

Expert
Licensed User
Grazie la provo subito cerco di leggere propri delle fatture elettroniche,funziona anche per b4j?
Trovi una versione di libreria per ogni piattaforma
 

Stefano Bordini

Member
Licensed User
Perdonami ancora ma sono abbastanza capra, la tua libreria si usa anche con i file XML vero? Non su tutte le fatture ho i p7m
 

Star-Dust

Expert
Licensed User
Perdonami ancora ma sono abbastanza capra, la tua libreria si usa anche con i file XML vero? Non su tutte le fatture ho i p7m
La mia libreria dai file p7m riesce a tirare fuori XML. Ma se hai già i file XML puoi usare solo la classe che manipola e verifica il file XML.
 
Top