PDA

View Full Version : آموزش: نحوه ساخت RSS Feed



ایمان مدائنی
چهارشنبه 15 خرداد 1392, 21:25 عصر
در این مقاله شما نحوه ساخت RSS Feed برای نمایش اطلاعات سایت خودتان را آموزش خواهید دید. داشتن یک صفحه RSS برای سایت بسیار لازم است چونکه به راحتی از طریق RSS می توانید افراد و ماشین ها را از بروز شدن اطلاعات سایتتان با خبر کنید. برای شروع شما میبایست از ساختاری استفاده کنید که قابل درک برای ماشین باشد. این نمونه یک مثال برای نمایش دادن ساختار فایل RSS می باشد:


<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>title</title>
<link>http://www.link.com/</link>
<description>description</description>
<language>en-us</language>
<ttl>5</ttl>
<item>
<title>title of entry</title>
<description>description of entry</description>
<link>http://www.link.com/</link>
<pubDate>publish date</pubDate>
</item>
<item>
<title>title of entry</title>
<description>description of entry</description>
<link>http://www.link.com/</link>
<pubDate>publish date</pubDate>
</item>
</channel>
</rss>



در ادامه برای نمایش دادن این فایل XML نیاز به یک محتوا داریم که آن را با استفاده از SQL database برای شما آماده می کنیم.

یک دیتابیس به نام RSSFeed در SQL ایجاد می کنیم که شامل یک Table به نام Articles باشد. داخل Table مورد نظر ستون های ID، Title، Category، DateTimeAdded، Article را ایجاد میکنیم. البته این نام ها بر اساس مثال ما ذکر شده است شما می توانید آنها را با نام ستون هایی که در سایتتان استفاده شده است جایگزین کنید.

پروژه را ساخت یک فرم به نام Default.aspx شروع میکنیم ، البته بهتر است صفحه مربوط به RSS Feed در یک فولدر جداگانه در زیرگروه سایت قرار گیرد. اطلاعاتی که ما در صفحه Default.aspx نیاز داریم:


<%@ Page ResponseEncoding="UTF-8" Language="C#‎" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RSSFeed.Default" %>
<%@ OutputCache Duration="300" VaryByParam="none" %>



در کد بالا OutputCash اطلاعات را تا 300 ثانیه (5 دقیقه) پس از اجرای کد در Cash سرور ذخیره میکند و این کار باعث بالا رفتن سرعت دسترسی به اطلاعات می شود .

در بخش کد نویسی (code-behind) به کتابخانه های (using) زیر نیاز داریم:


using System;
using System.Data.SqlClient;
using System.Xml;
using System.Text;
using System.Configuration;

در ادامه کدهای زیر را در بخش Page_Load وارد میکنیم:


Response.Clear();
Response.ContentType = "application/rss+xml";
XmlTextWriter objX = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
objX.WriteStartDocument();
objX.WriteStartElement("rss");
objX.WriteAttributeString("version", "2.0");
objX.WriteStartElement("channel");
SqlCommand cmd = new SqlCommand("Select TOP 10 * From Articles ORDER BY ID DESC", new SqlConnection(ConfigurationManager.ConnectionStrin gs["RSSFeed"].ConnectionString));
cmd.Connection.Open();
SqlDataReader dr = cmd.ExecuteReader();
objX.WriteElementString("title", "مرجع تخصصی برنامه نویسی | آموزش برنامه نویسی");
objX.WriteElementString("link", "http://www.madaeny.com/");
objX.WriteElementString("description", "آموزش برنامه نویسی و مقالات برنامه نویسی نمونه کد های سی شارپ آموزش برنامه نویسی");
objX.WriteElementString("language", "fa-ir");
objX.WriteElementString("ttl", "60");
objX.WriteElementString("image", "http://www.madaeny.com/SiteImages/logo.png");
objX.WriteElementString("lastBuildDate", String.Format("{0:R}", DateTime.Now));
while (dr.Read())
{
objX.WriteStartElement("item");
objX.WriteElementString("title", dr["Title"].ToString());
objX.WriteElementString("author", "C#‎ .net");
objX.WriteElementString("link", "http://www.madaeny.com/");
objX.WriteStartElement("guid");
objX.WriteAttributeString("isPermaLink", "true");
objX.WriteString("http://www.madaeny.com/");
objX.WriteEndElement();
objX.WriteElementString("pubDate", String.Format("{0:R}", dr["DateTimeAdded"]));
objX.WriteStartElement("category");
objX.WriteString(dr["Category"].ToString());
objX.WriteEndElement();
objX.WriteElementString("description", dr["Article"].ToString().Substring(0, 100) + "..");
objX.WriteEndElement();
}
objX.WriteEndElement();
objX.WriteEndElement();
objX.WriteEndDocument();
objX.Flush();
objX.Close();
Response.End();

در اینجا به راحتی توانستیم با کمک کلاس XmlTextWriter فایل XML سایت خود را ایجاد کنیم. به پیوست این مقاله فایل پروژه و دیتابیس آن ارسال می گردد. امیدوارم که این مقاله مورد پسند شما بوده باشد.

با آرزوی موفقیت برای شما برنامه نویس عزیز.

منبع مقاله : Madaeny.com (http://www.madaeny.com/)

parvizwpf
پنج شنبه 16 خرداد 1392, 01:46 صبح
مرسی.......

LostOfMind
دوشنبه 18 اسفند 1393, 21:35 عصر
سلام
من از این کد استفاده کردم
همه چیز خوبه اما در ایمیل خبر نامه تاریخ ثبت نمیشه؟!!!