天天看点

asp.net输出rss

  一、rss标准简单示例

<?xml version="1.0" encoding="gb2312"?>

<rss version="2.0">

<channel>

<title>rss的title</title>

<link>http://www.xxx.com</link>

<description>rss的description</description>

<item>

<title>item1的title</title>

<link>http://www.xxx.com/xx/xxx.shtml</link>

<description>item1的description</description>

</item>

<item>

<title>item1的title</title>

<link>http://www.xxx.com/xx/xxx.shtml</link>

<description>item1的description</description>

</item>

<!-- ... -->

</channel>

</rss>

二、RSS.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UcTodaySpecialListRSS.ascx.cs"

Inherits="RSS20Tester.UcTodaySpecialListRSS" %>

<asp:Repeater ID="rp_rss" runat="server">

<HeaderTemplate><?xml version="1.0" encoding="utf-8" ?><%-- 此处特别注意,xml文件的声明一定要放在第1行第1列,所以这里要紧凑写. --%>

<%--<?xml version="1.0" encoding="utf-8" ?>--%>

<%-- <?xml-stylesheet href="rss.xsl" target="_blank" rel="external nofollow" type="text/xsl" media="all"?> --%>

<rss version="2.0">

<channel>

<title><%=title %></title>

<link><%=WebSiteUrl %></link>

<description><%=description %></description>

<language>zh-CN</language>

<copyright><%=copyright %></copyright>

<pubDate><%=pubDate %></pubDate>

<image>

<title><%=image_title %></title>

<url><%=string.Format("{0}images/logo.jpg",WebSiteUrl) %></url>

<link><%=WebSiteUrl %></link>

<width><%=image_width%></width>

<height><%=image_height %></height>

<description><%=image_description%></description>

</image>

</HeaderTemplate>

<ItemTemplate>

<item>

<title><%#Eval("productName")%>,<%#Eval("NewPrice","{0:c}")%>/<%#Eval("Unit")%></title>

<link><%#string.Format("{0}ViewSpecialDetail.aspx?id={1}", WebSiteUrl, Eval("pkid"))%></link>

<description>

<%#string.Format("{0}公司的{1}参加本次特价促销活动,原价{2}/{3},现价{4}/{5}({6}),现仅剩{7}{8},欲购从速!联系人:{9},联系电话:{10}", Eval("Company"), Eval("productName"), Eval("Price","{0:c}"), Eval("Unit"), Eval("NewPrice","{0:c}"), Eval("Unit"), Eval("UnitNumber"), Eval("Stocks"), Eval("Unit"), Eval("Contact"), Eval("Phone"))%>

</description>

<%--<guid isPermaLink="true">http://www.zaobao.com/zg/zg090116_502.shtml</guid>--%>

<author>罗斯文公司销售部</author>

<pubDate><%#GetRssFormatTime(Eval("PubDateTime"))%></pubDate>

</item>

</ItemTemplate>

<SeparatorTemplate>

</SeparatorTemplate>

<FooterTemplate>

</channel>

</rss>

</FooterTemplate>

</asp:Repeater>

三、RSS.ascx.cs

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

namespace RSS20Tester

{

public partial class UcTodaySpecialListRSS : System.Web.UI.UserControl

{

#region

public string title = "罗斯文特价商品促销信息";

//public string link = "";

public string description = @"“罗斯文商品报价榜”是罗斯文经贸集团公司向外部客户公布的商品报价系统网站,秉承为客户创造价值的宗旨,快速高效地提供公开的透明的报价服务。";

//public string language = "zh-CN";

public string copyright = "罗斯文经贸集团公司";

public string pubDate = GetRssFormatTime(DateTime.Now);

public string image_title = "罗斯文经贸集团公司";

//public string image_url = "";

//public string image_link = "";

public string image_width = "88";

public string image_height = "31";

public string image_description = "罗斯文经贸集团公司标志";

#endregion

public string WebSiteUrl

{

get

{

return "http://localhost:5647/";

}

}

public static string GetRssFormatTime(object datetime)

{

DateTime dt ;

if (DateTime.TryParse(datetime.ToString(), out dt))

{

return dt.ToUniversalTime().ToString("r");

}

return string.Empty;

}

protected void Page_Load(object sender, EventArgs e)

{

bindTodaySpecialRSSList();

}

protected void bindTodaySpecialRSSList()

{

DataTable dt = new dal.TodaySpecialDal().getTodaySpecial();

this.rp_rss.DataSource = dt;

this.rp_rss.DataBind();

}

}

}

四、RSS.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TodaySpecialListRSS.aspx.cs" Inherits="RSS20Tester.TodaySpecialListRSS" ContentType="text/xml;charset=utf-8" %>

<%@ Register src="UcTodaySpecialListRSS.ascx" tagname="UcTodaySpecialListRSS" tagprefix="uc1" %>

<uc1:UcTodaySpecialListRSS ID="UcTodaySpecialListRSS1" runat="server" />

五、RSS.aspx.cs

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace RSS20Tester

{

public partial class TodaySpecialListRSS : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

//方法1:

//Response.ContentType = "text/xml";

//Response.Charset = "utf-8";

//方法2:

//或在aspx页面的“