Исключения с парсингом DateTime в канале RSS в C#

Я пытаюсь проанализировать Rss2, использование Atom-лент объекты SyndicationFeed и SyndicationFeedFormatter. Но я получаю XmlExceptions при парсинге поля DateTime как pubDate и/или lastBuildDate.

Среда, 24 февраля 2010 18:56:04 GMT+00:00 не работает

Среда, 24 февраля 2010 18:56:04 работы GMT

Так, это бросает из-за поля часового пояса.

Как обходное решение, для знакомой подачи я вручную зафиксировал бы те узлы DateTime - путем ловли XmlException, загрузки RSS в XmlDocument, фиксации значения тех узлов, при создании нового XmlReader и затем возвращая средство форматирования из этого нового объекта XmlReader (кодируйте не показанный). Но для этого подхода к работе, я должен знать заранее, какие узлы вызывают исключение.

        SyndicationFeedFormatter syndicationFeedFormatter = null;
        XmlReaderSettings settings = new XmlReaderSettings();
        using (XmlReader reader = XmlReader.Create(url, settings))
        {
            try
            {
                syndicationFeedFormatter = SyndicationFormatterFactory.CreateFeedFormatter(reader);
                syndicationFeedFormatter.ReadFrom(reader);
            }
            catch (XmlException xexp)
            {
                // fix those datetime nodes with exceptions and read again.
            }
        return syndicationFeedFormatter;
    }

RSS лента: http://news.google.com/news?pz=1&cf=all&ned=us&hl=en&q=test&cf=all&output=rss

исключение detials:

Ошибка XmlException в строке 1 положение 376. С ошибкой встретились при парсинге значения DateTime в XML.
в System. ServiceModel. Синдикация. Rss20FeedFormatter. DateFromString (Представляют в виде строки dateTimeString, читателя XmlReader),
в System. ServiceModel. Синдикация. Rss20FeedFormatter. ReadXml (читатель XmlReader, результат SyndicationFeed) в System. ServiceModel. Синдикация. Rss20FeedFormatter. ReadFrom (читатель XmlReader) в... cs:line 171


  
    ...
    Wed, 24 Feb 2010 18:56:04 GMT+00:00
    Wed, 24 Feb 2010 18:56:04 GMT+00:00 <-----exception
    ...
    
      ...
      Wed, 24 Feb 2010 16:17:50 GMT+00:00
      Wed, 24 Feb 2010 18:56:04 GMT+00:00
    
    ...
  

Существует ли лучший способ достигнуть этого? Помогите.Спасибо.

6
задан hIpPy 25 February 2010 в 16:08
поделиться