Ciao a tutti! ho un problema con la deserializzazione da XML a oggetto Java. Ho un file xml con uno schema xsd contenete dei parametri di configurazione e vorrei deserializzarlo in un oggetto java della classe ConfigurazioneParametri in modo da poterli utilizzare nel mio programma. Quando vado ad eseguire il programma pero netbeans mi da questo errore:
Caused by: com.thoughtworks.xstream.converters.reflection.Abs tractReflectionConverter$UnknownFieldException: No such field ConfigurazioneParametri.ParametriEconomici
---- Debugging information ----
field : ParametriEconomici
class : ConfigurazioneParametri
required-type : ConfigurazioneParametri
converter-type : com.thoughtworks.xstream.converters.reflection.Ref lectionConverter
path : /ConfigurazioneParametri/ParametriEconomici
version : 1.4.7
-------------------------------
Posto il codice, grazie a tutti
file configurazione.xml
file configurazione.xsdcodice:<?xml version="1.0" encoding="UTF-8"?> <ConfigurazioneParametri> <ParametriEconomici> <costoConsegna>1</costoConsegna> <arcoTemporale>2017</arcoTemporale> </ParametriEconomici> </ConfigurazioneParametri>
file ParametriEconomici.javacodice:<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="ConfigurazioneParametri"> <xs:complexType> <xs:sequence> <xs:element name="ParametriEconomici"> <xs:complexType> <xs:sequence> <xs:element name="costoConsegna" type="xs:string"/> <xs:element name="arcoTemporale" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
file ConfigurazioneParametri.javacodice:public class ParametriEconomici implements Serializable{ public String costoConsegna; public String arcoTemporale; public ParametriEconomici(String costoConsegna, String arcoTemporale){ this.costoConsegna = costoConsegna; this.arcoTemporale = arcoTemporale; } }
La chiamata dal metodo start e:codice:public class ConfigurazioneParametri implements Serializable{ public ParametriEconomici pe; public ConfigurazioneParametri(String xml){ ConfigurazioneParametri cp = (ConfigurazioneParametri)(new XStream()).fromXML(xml); pe = cp.pe; } public static ConfigurazioneParametri leggiDatiDalFileDiConfigurazione(){ String x = null; try{ x = new String(Files.readAllBytes(Paths.get("configurazione.xml"))); }catch(IOException e){ e.printStackTrace(); } ConfigurazioneParametri cp = new ConfigurazioneParametri(x); return cp; } }
ConfigurazioneParametri cp = ConfigurazioneParametri.leggiDatiDalFileDiConfigur azione();


Rispondi quotando
