![](/img/trans.png)
[英]Exceptions with DateTime parsing in RSS feed use SyndicationFeed in c#
[英]C# SyndicationFeed - RSS parsing date issue
我正在使用SyndicationFeed
從不同的RSS來源中檢索一些數據。 但是,在嘗試讀取RSS時遇到了一個問題,據我所知,RSS具有與正常工作相同的元素和數據。
SyndicationFeed feed = SyndicationFeed.Load(XmlReader.Create("http://rsslink"));
例如,此RSS可以正常工作並且被接受且沒有錯誤: http : //kjellochklortanten.libsyn.com/rss
盡管此RSS: http : //feeds.feedburner.com/tedtalks_audio導致SyndicationFeed
引發錯誤(這是從瑞典語翻譯過來的):
解析XML中的DateTime值時發生錯誤
我已經查看了兩個提要中的日期,據我所知它們是相同的。
那里有任何線索的C#忍者可能導致此錯誤的原因是什么?
提前致謝!
出現此問題的原因是第二個提要中使用了日期格式。 SyndicationFeed.Load方法期望接收標准格式的提要。 以下是標准格式的示例:
2009年10月5日,星期一08:00:06 GMT
但是,提要中的lastBuildDate為:
2014年5月2日,星期五04:58:16 UTC
要變通解決此問題,創建一個可識別該格式的自定義XML讀取器。 復制MyXmlReader的整個代碼並替換
const string CustomUtcDateTimeFormat = "ddd MMM dd HH:mm:ss Z yyyy";
通過
const string CustomUtcDateTimeFormat = "ddd, dd MMM yyyy HH:mm:ss 'UTC'";
現在將其用作
//var feed = SyndicationFeed.Load(XmlReader.Create("http://feeds.feedburner.com/tedtalks_audio"));
XmlReader r = new MyXmlReader("http://feeds.feedburner.com/tedtalks_audio");
var feed = SyndicationFeed.Load(r);
該代碼將適用於兩個提要。
Hej DA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.