2012-01-16 19 views
3

私は、私が取り組んでいるウェブサイト(c#)の1つの「フィード」にまとめているいくつかの異なるXMLフィードを用意しています。ほとんどのフィードはrss2.0標準、つまりニュースフィードとFacebookフィードに従います。しかし、私はまた、ツイッターを引っ張っているし、彼らは私が知ることから自分の標準を使用するようだ。私はFacebookやTwitterから少しずつ異なるフォーマットになっているため、出版日を引っ張っている問題があります。xmlフィードからDateTimeまでの日付文字列を解析します。

ログインfacebook = <lastBuildDate>Thu, 12 Jan 2012 00:06:54 +0000</lastBuildDate>

さえずり= <created_at>Wed Jan 11 23:48:15 +0000 2012</created_at>

私は、どこここを開始するのは非常にわからないんだけど助け:)

答えて

13

フォーマットが認識されない場合は、DateTime.ParseExactを実行する必要があります。あなたは、文字列の拡張メソッドを使用して値を解析することができるはず

public static class Extensions 
{ 
    public static DateTime ParseTwitterDateTime(this string date) 
    { 
     const string format = "ddd MMM dd HH:mm:ss zzzz yyyy"; 
     return DateTime.ParseExact(date, format, CultureInfo.InvariantCulture); 
    } 

    public static DateTime ParseFacebookDateTime(this string date) 
    { 
     const string format = "ddd, dd MMM yyyy HH:mm:ss zzzz"; 
     return DateTime.ParseExact(date, format, CultureInfo.InvariantCulture); 
    } 
} 

以下のクラスを使用します。

参考として使用されます。Twitter date parsing in C#

0

に感謝あなたはそれがFacebookの、たとえば、からだということがわかっている場合は、 (曜日、月、時間など)の文字列を解析し、C#が認識できるように並べ替えるだけで、DateTime.Parse()を使用することができます。それらを日付に変換する。フィードごとに異なる再配置方法を用意する必要があります。

Thu, 12 Jan 2012 00:06:54 +0000 

Jan 12, 2012 00:06:54 +0000 

または(C#が、実際にそれを解析するため、必要に応じて変更されますかどうかわからない)そのようなことになります。

関連する問題