C# 使用XmlSerializer反序列化RSS xml提要的pubDate元素时出错

C# 使用XmlSerializer反序列化RSS xml提要的pubDate元素时出错,c#,xml,rss,xmlserializer,pubdate,C#,Xml,Rss,Xmlserializer,Pubdate,当我尝试使用XmlSerializer反序列化RSS xml的pubDate元素时,出现以下错误: “System.InvalidOperationException”类型的未处理异常 发生在System.Xml.dll中 这是我在反序列化时使用的类: public class RssItem { [XmlElement("title")] public string Title { get; set; } [XmlElement("description")]

当我尝试使用XmlSerializer反序列化RSS xml的pubDate元素时,出现以下错误:

“System.InvalidOperationException”类型的未处理异常 发生在System.Xml.dll中

这是我在反序列化时使用的类:

    public class RssItem
{
    [XmlElement("title")]
    public string Title { get; set; }

    [XmlElement("description")]
    public string Description { get; set; }

    [XmlElement("pubDate")]
    public DateTime Date { get; set; }

    [XmlElement("link")]
    public string Link { get; set; }
}
pubDate元素的格式如下:

<pubDate>Sat, 29 Mar 2014 19:27:18 EDT</pubDate>  
Sat,2014年3月29日美国东部时间19:27:18

我做错了什么?此错误的解决方案是什么?

似乎您在datetime格式方面遇到了一些问题,也许您可以使用DataType和DisplayFormat属性来修复它,但我会使用
LINQ to XML

var rssItems = XDocument.Load("path or URL")
                .Descendants("item")
                .Select(x => new RssItem
                {
                    Title = (string) x.Element("title"),
                    Description = (string) x.Element("description"),
                    Date = DateTime.ParseExact(string.Join(" ",x.Element("pubDate").Value.Split().Take(5)), "ddd, dd MMM yyyy HH:mm:ss", CultureInfo.InvariantCulture),
                    Link = (string) x.Element("link")
                }).ToList();
我对您的
日期
字符串进行了一些操作,因为我无法在我的计算机上正确解析它。也许您可以在格式的末尾添加
K
说明符,并尝试使用
CultureInfo.CurrentCulture
直接解析它,而不使用
Split
Take