我需要将(从其他方面)XML文件中的日期带到我的C#应用程序中的PostgreSQL表中。
我的问题是,如果我将字段声明为这样的字符串:
[XmlAttribute("startDate")]
public string StartDate { get; set; }
它根本没有被反序列化(值为null)。如果我将它声明为DateTime:
[XmlAttribute("startDate")]
public DateTime StartDate { get; set; }
无论我进入XML字段,我总是得到值01.01.0001 00:00:00
。
我尝试使用YYYY-MM-DD,YYYY / MM / DD和DD.MM.YYYY输入日期。我究竟做错了什么?它适用于其他字符串和整数。
编辑:
示例XML:
<?xml version="1.0" encoding="utf-8" ?>
<command name="TestCommand">
<weeks>11</weeks> <!-- this works fine -->
<startDate>2017/02/01</startDate> <!-- this doesn't -->
</command>
使用XmlSerializer.Deserialize()将反序列化发生到Config文件中,该文件由我给出上述示例的字段组成
答案 0 :(得分:2)
好的答案很简单。这不是XmlAttribute ...这是XmlElement。 将属性更改为:
[XmlElement("startDate")]
public DateTime StartDate { get; set; }
你确定元素&#34;周&#34;工作正常并用XmlAttribute标记?