0

I am running my Facebook status feed through Yahoo pipes and outputting/embedding it on to a page my own hosted website.

The XML feed contains a date. I want to format the date but don't know how to. The XML part is date output is...<pubDate>Thu, 14 Jul 2011 20:38:07 +0100</pubDate> and I would like it to render something like 14/07/2011.

Any help much appreciated.

I have c# code...

protected void Page_Load(object sender, EventArgs e)
    {

        WebRequest MyRssRequest = WebRequest.Create("http://pipes.yahoo.com/pipes/pipe.run?FacebookRssUrl=http%3A%2F%2Fwww.facebook.com%2Ffeeds%2Fpage.php%3Fid%3D456456456456456%26format%3Drss20&_id=456456456456456456464&_render=rss");
        WebResponse MyRssResponse = MyRssRequest.GetResponse();

        Stream MyRssStream = MyRssResponse.GetResponseStream();

        // Load previously created XML Document
        XmlDocument MyRssDocument = new XmlDocument();
        MyRssDocument.Load(MyRssStream);

        XmlNodeList MyRssList = MyRssDocument.SelectNodes("rss/channel/item");

        string sTitle = "";
        string sLink = "";
        string sDescription = "";

        // Iterate/Loop through RSS Feed items
        for (int i = 0; i < 3; i++)
        {
            XmlNode MyRssDetail;

            MyRssDetail = MyRssList.Item(i).SelectSingleNode("title");
            if (MyRssDetail != null)
                sTitle = MyRssDetail.InnerText;
            else
                sTitle = "";

            MyRssDetail = MyRssList.Item(i).SelectSingleNode("link");
            if (MyRssDetail != null)
                sLink = MyRssDetail.InnerText;
            else
                sLink = "";

            MyRssDetail = MyRssList.Item(i).SelectSingleNode("pubDate");
            if (MyRssDetail != null)
                sDescription = MyRssDetail.InnerText;

            else
            {
                sDescription = "";
            }

            // Now generating HTML table rows and cells based on Title,Link & Description
            HtmlTableCell block = new HtmlTableCell();
            block.InnerHtml = "<span style='font-weight:bold'><a href='" + sLink + "' target='new'>"+ sTitle + "</a></span>";
            HtmlTableRow row = new HtmlTableRow();
            row.Cells.Add(block);
            tbl_Feed_Reader.Rows.Add(row);
            HtmlTableCell block_description = new HtmlTableCell();
            block_description.InnerHtml = "<p align='justify'>" + sDescription + "</p>";
            HtmlTableRow row2 = new HtmlTableRow();
            row2.Cells.Add(block_description);
            tbl_Feed_Reader.Rows.Add(row2);
        }
    }
1
  • Your question is very unclear. Please read it yourself, see if it makes sense, and edit it so people can understand what you are asking. Commented Aug 4, 2011 at 19:31

5 Answers 5

0

You can parse it to DateTime and render it in specific format you want.

var x = DateTime.Parse(MyRssDetail.InnerText);
//Your date format
sDescription = x.ToString("d MMM yyyy");
Sign up to request clarification or add additional context in comments.

1 Comment

Sorry so slow in getting back to you. That worked great thanks.
0

You can save the date by using DateTime.Parse or DateTime.ParseExact.

DateTime xmlDateTime = DateTime.Parse(xmlValue);

From there, it's a matter of outputting it using DateTime.ToString() with the desired format parameters (or any of the built-in ToShortDateString, ToLongDateString, ToShortTimeString, etc.)

xmlDateTime.ToShortDateString();

Comments

0

I would do something like:

DateTime parsedDate=DateTime.Min;
if(DateTime.TryParse(xmlStringWithDate,ref parsedDate))
{
   //Do something useful with parsedDate since the parse was successful
}

Comments

0

You could use String.Format to do this:

 sDescription = String.Format("{0:D}", MyRssDetail.InnerText);

Or convert it to a date, then go from there:

sDescription = Convert.ToDateTime(MyRssDetail.InnerText).toShortDateString();

Comments

0
String.Format({0:D}, dateToFormat)

I am assuming you want to do the pubDate?

sDescription = String.Format({0:D}, MyRssDetail.InnerText.ToDate())

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.