Ausnahmen beim DateTime-Parsing im RSS-Feed verwenden SyndicationFeed in c #

8

Ich versuche, Rss2, Atom-Feeds mit SyndicationFeed-Objekten zu parsen. Aber ich erhalte XmlExceptions beim Analysieren des DateTime-Feldes wie pubDate

2012-01-17 08:01:06

%Vor%

Der URL-Link Ссылка

%Vor%

Gibt es einen besseren Weg, dies zu erreichen? Bitte helfen Sie. Vielen Dank.

    
wangyan9110 17.01.2012, 07:31
quelle

2 Antworten

14

Es gibt eine Problemumgehung RSS20FeedFormatter löst eine Ausnahme aus, die versucht, einige DateTime-Formate zu lesen .

  

Um dieses Problem zu umgehen, erstellen Sie einen benutzerdefinierten XML-Reader, der verschiedene Datumsformate erkennt. Im Folgenden finden Sie ein Beispiel für einen benutzerdefinierten XML-Reader:   

%Vor%

.. und Klasse, die im vorherigen Code verwendet wurde:

%Vor%     
Michał Powaga 17.01.2012 07:49
quelle
3

Grundsätzlich ist dieser RSS-Feed ungültig. Wenn Sie sich die RSS 2.0-Spezifikation ansehen, heißt es:

  

Alle Datumsangaben in RSS stimmen mit der Datums- und Zeitangabe von RFC 822 überein, mit der Ausnahme, dass das Jahr mit zwei oder vier Zeichen (vier bevorzugt) ausgedrückt werden kann.

Die Zeichenfolge "2012-01-17 12:09:29" entspricht nicht der "Datum und Uhrzeit" Teil von RFC 822 . Es sollte "17 01 2012 12:09:29" oder etwas ähnliches sein.

    
Jon Skeet 17.01.2012 07:44
quelle

Tags und Links