У меня есть одна проблема. Я должен сериализовать объект и что объект sam преобразуется в XML, но это объект datetime.серийный объект дата/время
Хорошо, у меня есть строка переменной, которая заполнена данными из некоторого запроса SQL, как это
// DateDeliveryRequest
if (rw_mat["dat_pot"].ToString().Length <= 0)
{
date_req = "";
}
else
{
date_req = rw_mat["dat_pot"].ToString();
}
Теперь date_req в настоящее время passet объекта, как это:
var dtfi = new DateTimeFormatInfo { ShortDatePattern = "dd-MM-yyyy", DateSeparator = "-" };
Agr3PL.DataArea.Header.DateDeliveryRequest = Convert.ToDateTime(date_req, dtfi);
И в конце этот объект, среди прочего, передается в функцию сериализации:
private string SerializeAnObject(object obj)
{
System.Xml.XmlDocument doc = new XmlDocument();
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(obj.GetType());
System.IO.MemoryStream stream = new System.IO.MemoryStream();
try
{
serializer.Serialize(stream, obj);
stream.Position = 0;
doc.Load(stream);
return doc.InnerXml;
}
catch (Exception ex)
{
WriteErrors.WriteToLogFile("WS.SAVE_DOK_SERIJALIZACIJA", ex.ToString());
throw ex;
}
Так я хочу, чтобы получить DATETIME переменную XML, но я этого не сделать, XML должен выглядеть примерно так (это просто сегмент)
- <Header>
<MessageType>COR</MessageType>
<UniqueHeaderNumber />
<UniqueHeaderNumberFromWMS />
<CompanyCode />
<OrderNumber />
<InvoiceNumber />
<MovementNumber />
<ReceiptNumber />
<DebitNoteNumber />
<PickNoteNumber />
<LoadNumber />
<DropSequence />
<BulkPickNoteNumber />
<NumberOfPallets />
<DateDeliveryRequest />
Но проблема в том, что XML является не показывая узел> DateDeliveryRequest его нет Я не получаю ошибку, просто нет узла> DateDeliveryRequest ???
Не знаю, проблема в функции serializer или на чем-то другом, может быть, в дате создания или что-то еще?
Вы можете показать класс Agr3PL.DataArea.Header? – Reniuz
Это часть, из которой она обитала [System.Xml.Serialization.XmlElementAttribute (DataType = "date")] public System.DateTime DateDeliveryRequest { get { return this.dateDeliveryRequestField; } set { this.dateDeliveryRequestField = значение; } } – CrBruno
В процессе отладки вы можете увидеть, что DateDeliveryRequest действительно установлен ?. Возможно, вам нужно попробовать DateTime.Parse() вместо Convert.ToDateTime() – Reniuz