.NET中写RSS源XML中时间不能显示,在线急等!
现需输出RSS源,也就是xml文件。遇到日期不能显示。看了一些网友的建议:“时间要按 RFC822 进行格式化,即按“Mon, 13 Apr 2009 05:30:10 GMT”的格式写入XML。”
而数据库的时间格式是“2009-4-20 18:30:00”
于是,写了一函数实现格式转换
如下:
public static DateTime Todate(object date)
{
DateTime rssdate = Convert.ToDateTime(date);
string[] month ={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
string[] week ={ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
StringBuilder rd = new StringBuilder();
rd.Append(week[Convert.ToInt32(rssdate.DayOfWeek)]);
rd.Append(",");
rd.Append(rssdate.Day);
rd.Append(" ");
rd.Append(month[Convert.ToInt32(rssdate.Month) - 1]);
rd.Append(" ");
rd.Append(rssdate.Year);
rd.Append(" ");
rd.Append(rssdate.ToLongTimeString());
rd.Append(" ");
rd.Append("GMT ");
return Convert.ToDateTime(rd.ToString());
}
以下是写xml的item内容部分代码:
foreach (RssItem item in itemsimple)
{
XmlElement itemnode = domdoc.CreateElement("item");
……
element = domdoc.CreateElement("pubdate");
nodetext= domdoc.CreateTextNode(Todate(item.Pubdate.ToUniversalTime()).ToString ());
……
}
结果写入xml的时间格式是:
<item>
<title>信息管理系统作业</title>
<link>http://localhost:1741/rssandweb/read.aspx?FileID=3</link>
<description><![CDATA[本课程第一次面授课的课后作业是形成作业1。]]></description>
<author>李老师 </author>
<pubdate>2012-4-12 0:00:00</pubdate>
</item>
以上代码哪里有问题?