RestSharp用DateTime元素作为子元素反序列化列表
本文关键字:元素 反序列化 列表 DateTime RestSharp | 更新日期: 2023-09-27 18:08:03
我用RestSharp反序列化以下xml有问题:
<dates>
<date>2013-04-30</date>
<date>2013-04-16</date>
<date>2013-04-05</date>
<date>2013-04-20</date>
<date>2013-04-06</date>
<date>2013-04-13</date>
<date>2013-04-04</date>
</dates>
显然,我需要将其反序列化为DateTime对象的列表。所以我尝试了像
这样的东西public class Dates : List<DateTime>
{
}
,但这是不可能的,因为DateTime类名与元素的"日期"名称不匹配。当然,我设置的日期格式如下:
request.XmlSerializer.DateFormat = "yyyy-MM-dd";
下一步是
public class Dates
{
[SerializeAs(Name="date")]
List<DateTime> dates;
}
但是这也不工作,集合仍然返回空。我理解将dateTime解析和列表与单个元素作为子元素混合是……不方便的。是否可以用默认的RestSharp XmlParser解析这种xml ?
您正在创建自己的list类吗?你似乎误解了如何创建XML可序列化对象。
试试这个:
public class MyXmlObject
{
[XmlArray(ElementName = "dates")]
[XmlArrayItem(ElementName = "date")]
List<DateTime> Dates;
}