c#XML反序列化时间字符串列表以列出DateTime对象

c#XML反序列化时间字符串列表以列出DateTime对象,c#,xml,datetime,serialization,getter-setter,C#,Xml,Datetime,Serialization,Getter Setter,我在这个问题上有点困难。 我从一个API调用返回了一堆xml(我无法控制)。数据看起来像这样,但有更多的条目 `<time>10:00:00</time> <go>true</go> <time>10:30:00</time> <go>false</go> ` `10:00:00 真的 10:30:00 假的 ` 我可以将它反序列化为一个列表,两个字符串列表 列出时间和开始时间 但是,我确实

我在这个问题上有点困难。 我从一个API调用返回了一堆xml(我无法控制)。数据看起来像这样,但有更多的条目

`<time>10:00:00</time>
 <go>true</go>
 <time>10:30:00</time>
 <go>false</go>
`
`10:00:00
真的
10:30:00
假的
`
我可以将它反序列化为一个列表,两个字符串列表
列出时间和开始时间

但是,我确实需要将这段时间反序列化为datetime对象。 现在我有以下工作,但只针对单个实例,而不是列表。毫无疑问,我在接二连三方面遇到了麻烦

[XmlIgnore]
public List<DateTime> DoNotSerialize { get; set; }
[XmlElement("time")]
public List<string> time
{
     get { return DoNotSerialize.ToString("HH:MM:SS") }
     set { DoNotSerialize = DateTime.Parse(value); }
}
[XmlIgnore]
公共列表不序列化{get;set;}
[XmlElement(“时间”)]
公开列表时间
{
获取{return DoNotSerialize.ToString(“HH:MM:SS”)}
set{DoNotSerialize=DateTime.Parse(value);}
}
尝试使用以下方法:

[XmlIgnore]
public List<DateTime> DoNotSerialize { get; set; }
[XmlElement("time")]        
public List<string> time
{
    get { return DoNotSerialize.Select(item => item.ToString("yyyy-MM-dd")).ToList(); }
    set { DoNotSerialize = value.Select(item => DateTime.Parse(item)).ToList(); }
}
[XmlIgnore]
公共列表不序列化{get;set;}
[XmlElement(“时间”)]
公开列表时间
{
获取{return DoNotSerialize.Select(item=>item.ToString(“yyyy-MM-dd”)).ToList();}
set{DoNotSerialize=value.Select(item=>DateTime.Parse(item)).ToList();}
}

(几天前我也遇到了类似的问题,但是是序列化而不是反序列化。如果您感兴趣,请检查…

谢谢dmitry。如前所述,我可以通过多种方式使它与字符串的单个实例一起工作。“我对列表部分有问题。@Andrewmacnouton您解析xml的代码在哪里?嘿,LB。代码已经在那里了,但我做了一些小的修改以使其更具可读性。”。当它是DateTime DoNotSerialize和String time时,代码工作得很好——只是将其作为列表使用,这让我感到困惑。