Visual Studio .NET 2003Windows 2003WebForms.NET 1.1ADO.NETWindows 2000Windows XPXML中级开发Visual StudioWindows.NETASP.NETC#
一个非常标准、强大且易于使用的 RSS 2.0 代码示例和库






4.85/5 (20投票s)
使用此库,您可以轻松地为您的网站创建一些 RSS 2.0 文件,以及将其他网站的 RSS 2.0 文件用于您的网站。
引言
使用此库,您可以轻松地为您的网站创建一些 RSS 2.0 文件,以及使用(显示)其他网站的 RSS 2.0 文件到您的网站。
创建 RSS 2.0
创建 RSS 2.0 示例 (1)
要查看此源代码,您应该查看 create_rss2_sample1.aspx.cs 文件。 在此源代码中,您可以看到我创建了一个 RSSChannel
对象,然后是所需的 RSSRoot
对象。 之后,我以三种方式将一些 RSSItem
(s) 添加到 oRSSRoot
项目(作为集合)。
private void Page_Load(object sender, System.EventArgs e)
{
IranianExperts.RSS.RSSChannel oRSSChannel =
new IranianExperts.RSS.RSSChannel("Channel Title",
"Channel Link", "Channel Description");
oRSSChannel.PubDate = System.DateTime.Now.ToString();
IranianExperts.RSS.RSSRoot oRSSRoot =
new IranianExperts.RSS.RSSRoot(oRSSChannel,
Response.OutputStream);
IranianExperts.RSS.RSSItem oRSSItem = null;
oRSSItem = new IranianExperts.RSS.RSSItem("Item 1", "http://www.item1.com/");
oRSSItem.PubDate = System.DateTime.Now.ToString();
oRSSRoot.Items.Add(oRSSItem);
oRSSRoot.Items.Add("Item 2");
oRSSRoot.Items.Add("Item 3", "http://www.item3.com/");
Response.Clear();
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/xml";
IranianExperts.RSS.RSSUtilities.PublishRSS(oRSSRoot);
Response.End();
}
创建 RSS 2.0 示例 (2)
要查看此源代码,您应该查看 create_rss2_sample2.aspx.cs 文件。 此示例与创建 RSS 2.0 示例 (1) 非常相似,但在此示例中,我创建了另一个名为 oRSSImage
的对象。 如果您想为您的 RSS 2.0 添加一些额外信息,例如您的网站图像及其属性,最好创建此对象并使用它。
private void Page_Load(object sender, System.EventArgs e)
{
IranianExperts.RSS.RSSChannel oRSSChannel =
new IranianExperts.RSS.RSSChannel("Channel Title",
"Channel Link", "Channel Description");
oRSSChannel.PubDate = System.DateTime.Now.ToString();
IranianExperts.RSS.RSSImage oRSSImage =
new IranianExperts.RSS.RSSImage(
"http://www.site.com/images/banner.gif",
"http://www.iranianexperts.com/", "Iranian Experts");
IranianExperts.RSS.RSSRoot oRSSRoot =
new IranianExperts.RSS.RSSRoot(oRSSChannel,
oRSSImage, Response.OutputStream);
IranianExperts.RSS.RSSItem oRSSItem = null;
oRSSItem =
new IranianExperts.RSS.RSSItem("Item 1", "http://www.item1.com/");
oRSSItem.PubDate = System.DateTime.Now.ToString();
oRSSRoot.Items.Add(oRSSItem);
oRSSRoot.Items.Add("Item 2");
oRSSRoot.Items.Add("Item 3", "http://www.item3.com/");
Response.Clear();
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/xml";
IranianExperts.RSS.RSSUtilities.PublishRSS(oRSSRoot);
Response.End();
}
在您的网站中显示 RSS 2.0 文件
为了在一些 .aspx 文件中显示一些 RSS 2.0 文件,您必须放置一个 DataGrid
并设置其属性
<asp:datagrid id="grdData" cellpadding="3"
autogeneratecolumns="False" font-name="Tahoma"
font-size="8pt" runat="server" bordercolor="#E7E7FF"
borderstyle="None" borderwidth="1px" backcolor="White"
gridlines="Horizontal" font-names="Tahoma">
<alternatingitemstyle backcolor="#F7F7F7">
</alternatingitemstyle>
<itemstyle forecolor="#4A3C8C" backcolor="#E7E7FF">
</itemstyle>
<headerstyle font-size="8pt" font-bold="True"
horizontalalign="Center" forecolor="#F7F7F7" backcolor="#4A3C8C">
</headerstyle>
<columns>
<asp:templatecolumn headertext="Some Recent Titles Posts...">
<itemtemplate>
</itemtemplate>
</asp:templatecolumn>
</columns>
</asp:datagrid>
并引发 DataGrid
的 ItemDataBound
事件以进行自定义格式化
private void grdData_ItemDataBound(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case System.Web.UI.WebControls.ListItemType.Item:
case System.Web.UI.WebControls.ListItemType.SelectedItem:
case System.Web.UI.WebControls.ListItemType.AlternatingItem:
System.Data.DataRowView oDataRowView =
(System.Data.DataRowView) e.Item.DataItem;
string strLINK = oDataRowView["LINK"].ToString();
string strTITLE = oDataRowView["TITLE"].ToString();
int intTitleMaxLenght = 20;
if(strLINK == "")
{
if(strTITLE.Length <= intTitleMaxLenght)
e.Item.Cells[0].Text = strTITLE;
else
e.Item.Cells[0].Text =
strTITLE.Substring(0, intTitleMaxLenght - 1) + " ...";
}
else
{
if(strTITLE.Length <= intTitleMaxLenght)
e.Item.Cells[0].Text =
"<a href='" + strLINK + "' target='_blank'>" + strTITLE + "</a>";
else
e.Item.Cells[0].Text =
"<a href='" + strLINK + "' target='_blank'>" +
strTITLE.Substring(0, intTitleMaxLenght - 1) + " ...</a>";
}
break;
}
}
因此,根据您希望显示 RSS 2.0 文件的方式(从本地驱动器或 URL 地址),您必须编写以下其中一个源代码,它将对您有用。
对于本地驱动器(在您的网站中)
strPathName = Server.MapPath("rss") + "file://RSS2Sample1.xml/";
grdData.DataSource =
IranianExperts.RSS.RSSUtilities.GetRSSFeed(
IranianExperts.RSS.RSSLocation.Drive,
strPathName, IranianExperts.RSS.RSSFeedType.item);
grdData.DataBind();
对于 URL 地址(使用其他网站的一些 RSS 2.0 文件)
strPathName = "https:///working_on_rss/rss/RSS2Sample1.xml";
grdData.DataSource =
IranianExperts.RSS.RSSUtilities.GetRSSFeed(
IranianExperts.RSS.RSSLocation.URL,
strPathName, IranianExperts.RSS.RSSFeedType.item);
grdData.DataBind();
或
strPathName = "https:///working_on_rss/create_rss2_sample1.aspx";
grdData.DataSource =
IranianExperts.RSS.RSSUtilities.GetRSSFeed(
IranianExperts.RSS.RSSLocation.URL,
strPathName, IranianExperts.RSS.RSSFeedType.item);
grdData.DataBind();
我希望这些源代码对您有用。 使用它们并享受吧。
祝您一切顺利。