2

我在使用 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 吗?

4

1 回答 1

0

您正在制作自己的列表课程吗?您似乎误解了如何制作 XML 可序列化对象。

试试这个:

public class MyXmlObject
{
    [XmlArray(ElementName = "dates")]
    [XmlArrayItem(ElementName = "date")]
    List<DateTime> Dates;
}
于 2021-12-06T11:36:17.313 回答