Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XmlSerializer: The string '' is not a valid AllXsd value

Tags:

I'm getting this message,"The string '7/22/2006 12:00:00 AM' is not a valid AllXsd value.", when deserializing an XML, the element contains a date, this is the property that is supposed to be mapped to the element:

[XmlElement("FEC_INICIO_REL",typeof(DateTime))] public DateTime? FechaInicioRelacion { get; set; } 

Am I doing something wrong?

UPDATE: Here is the XML:

<Detalle>   <NOM_ASOC>Financiera Panameña</NOM_ASOC>   <DESCR_CORTA_RELA>PREST. PERSONAL</DESCR_CORTA_RELA>   <FEC_INICIO_REL>7/22/2006 12:00:00 AM</FEC_INICIO_REL>   <FEC_FIN_REL>9/22/2008 12:00:00 AM</FEC_FIN_REL>   <MONTO_ORIGINAL>1160.0000</MONTO_ORIGINAL>   <NUM_PAGOS>2</NUM_PAGOS>   <DESCR_FORMA_PAGO>PAGOS VOLUNTARIOS</DESCR_FORMA_PAGO>   <IMPORTE_PAGO>59.9400</IMPORTE_PAGO>   <FEC_ULTIMO_PAGO>11/15/2006 12:00:00 AM</FEC_ULTIMO_PAGO>   <MONTO_ULTIMO_PAGO>0.0000</MONTO_ULTIMO_PAGO>   <DESCR_OBS_CORTA />   <SALDO_ACTUAL>1078.3900</SALDO_ACTUAL>   <NUM_DIAS_ATRASO>0</NUM_DIAS_ATRASO>   <HISTORIA>1</HISTORIA>   <MONTO_CODIFICADO />   <FEC_ACTUALIZACION>10/17/2008 12:00:00 AM</FEC_ACTUALIZACION>   <COD_GRUPO_ECON>  </COD_GRUPO_ECON>   <TIPO_ASOC>  </TIPO_ASOC>   <NUM_REFER>2008628116</NUM_REFER> </Detalle> 
like image 500
ryudice Avatar asked May 18 '10 23:05

ryudice


1 Answers

I solved the issue by storing the date in string and then creating a getter which parses the date and returns it as DateTime.

Sample code:

    [XmlElement("Valid")]     public string _Valid     {         get;         set;     }      [XmlIgnore]     public bool? Valid     {         get         {             if (!string.IsNullOrWhiteSpace(_Valid))             {                 return bool.Parse(_Valid);             }              return null;         }     } 
like image 179
ryudice Avatar answered Sep 17 '22 18:09

ryudice