Я получаю это сообщение, "Строка '22.07.2006 0:00:00' не является допустимым значением AllXsd". при десериализации XML элемент содержит дату, это - свойство, которое, как предполагается, отображается на элементе:
[XmlElement("FEC_INICIO_REL",typeof(DateTime))]
public DateTime? FechaInicioRelacion { get; set; }
Я делаю что-то не так?
ОБНОВЛЕНИЕ: Вот 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>
Я решил проблему, сохранив дату в строке, а затем создав геттер, который анализирует дату и возвращает ее как DateTime.
Пример кода:
[XmlElement("Valid")]
public string _Valid
{
get;
set;
}
[XmlIgnore]
public bool? Valid
{
get
{
if (!string.IsNullOrWhiteSpace(_Valid))
{
return bool.Parse(_Valid);
}
return null;
}
}