c# - تحليل سلسلة التاريخ من تغذية شمل إلى داتيتيم




xml xml-parsing (2)

إذا كنت تعرف أنه من، ويقول، الفيسبوك، والفيسبوك يستخدم باستمرار نفس تنسيق التاريخ، يمكنك فقط تحليل سلسلة لمكوناته (يوم من الأسبوع والشهر والوقت، وما إلى ذلك)، وإعادة ترتيب لهم في أمر أن C # يتعرف، ثم استخدم DateTime.Parse () لتحويلها إلى تاريخ. يجب أن يكون لديك طريقة إعادة ترتيب مختلفة لكل خلاصة.

على سبيل المثال

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

يصبح

Jan 12, 2012 00:06:54 +0000

أو شيء من هذا القبيل (لست متأكدا مما إذا كان C # سيحلل ذلك فعلا، لذا تعدل حسب الحاجة).

لدي عدد قليل من خلاصات شمل المختلفة التي أدمجها في "خلاصة" واحدة لموقع ويب أعمل عليه (c #). معظم الأعلاف اتبع معيار rss2.0، وهي يغذي الأخبار والتغذية الفيسبوك. ومع ذلك، أنا أيضا سحب تويتر ويبدو أنها تستخدم معيار الخاصة بهم من ما أستطيع أن أقول. أواجه مشكلة سحب تاريخ النشر من الفيسبوك وتويتر لأنها في أشكال مختلفة قليلا.

<lastBuildDate>Thu, 12 Jan 2012 00:06:54 +0000</lastBuildDate> = <lastBuildDate>Thu, 12 Jan 2012 00:06:54 +0000</lastBuildDate>

تويتر = <created_at>Wed Jan 11 23:48:15 +0000 2012</created_at>

أنا لست متأكدا تماما من أين تبدأ هنا، شكرا للمساعدة :)


سوف تحتاج إلى إجراء 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);
    }
}

يجب أن تكون قادرا على تحليل القيم باستخدام طريقة الإضافة على السلسلة.

تستخدم كمرجع: تويتر تحليل التاريخ في C #





xml-parsing