在MVC框架中修复损坏的RSS Feed

时间:2017-03-02 15:35:29

标签: c# asp.net-mvc rss

我试图找出this site's RSS feed突然爆发的原因,以及我如何解决这个问题。

这是我公司给我帮助解决的错误信息:

  

第17行的位置错误39.解析XML中的DateTime值时遇到错误。

     

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

     

异常详细信息:System.Xml.XmlException:第17行中的错误位置39.解析XML中的DateTime值时遇到错误。

     

来源错误:

     

第25行:settings.DtdProcessing = DtdProcessing.Parse;

     

第26行:XmlReader reader = XmlReader.Create(url,settings);

     

第27行:SyndicationFeed feed = SyndicationFeed.Load(读者);

     

第28行:

     

第29行:foreach(feed.Items.Take中的SyndicationItem项目(NUMBEROFPOSTS)){

     

源文件:*** \ prosenstein-com \ Models \ NewsFeedModel.cs行:27

     

堆栈追踪:

     

[XmlException:第17行位置39出错。在解析XML中的DateTime值时遇到错误。]   System.ServiceModel.Syndication.Atom10FeedFormatter.DateFromString(String dateTimeString,XmlReader reader)+4372522

以下是我认为是网站MVC框架中的相关模型代码。

private List<SyndicationItem> GetItemsFromUrl(string url) {
    int NUMBEROFPOSTS = 6; // limits number of rss posts on page

    List<SyndicationItem> postsList = new List<SyndicationItem>();
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.DtdProcessing = DtdProcessing.Parse;
    XmlReader reader = XmlReader.Create(url, settings);
    SyndicationFeed feed = SyndicationFeed.Load(reader);

    foreach (SyndicationItem item in feed.Items.Take(NUMBEROFPOSTS)) {
        item.Id = item.Links[0].Uri.ToString();
        postsList.Add(item);
    }

    reader.Close();
    return postsList;
}

我对MVC中的编码很陌生,而且大部分代码对我来说都像希腊语。如果你能帮助我解决问题,并帮助我在这个过程中学到一些东西,我将非常感激。

0 个答案:

没有答案