Başlangıç > Dökümanlar > Asp.Net ile RSS sistemi yapmak

Asp.Net ile RSS sistemi yapmak

Merhaba Arkadaşlar, bugün .Net Sistemler için rss sistemi kodlamayı göreceğiz.
Öncelikle bilmeyenler için RSS nedir?
İlgili sitede bulunan içeriğin başlığını,tarihini,özetini veyahut metnin tamamını içeren, ve yeni eklenen içeriğin takibi için oldukça kolaylık sağlayan bir xml dosya çeşididir.
.Net sistemlerde rss kodlamak için iki yolumuz var, ikisinide görelim hemen.

İlk Yol

İlkolarak  sistemde rss.aspx adındaki dosyanızı oluşturuyorsunuz.Ondan sonra rss.aspx sayfasının arkasındaki bütün html kodlarını silin ve en üste ContentType=”text/xml” kodunu ekleyin.Ve aynı sayfada hemen alta (html kodlarını sildiğiniz yere) şimdi vereceğim kodları kendinize uyarlayarak yazın.

 

Kodlar

 

<rss version=”2.0¨> // rss versiyonu, en yenisi 2.0
<channel>
<title>Aykut Aktaş RSS Örnek Proje</title> // başlığımız
<link>http://www.aykutaktas.com.tr</link&gt; // linkimiz
<description> // bir sonraki aynı tag’ a kadar sitemizin tanımlaması,keyword vs.
asp.net,c#.net,vb.net
</description>
<asp:Repeater ID=”rss_aykut” runat=”server”>
// rss’deki yazılarımızı sıralamak için repeater kullanıyoruz.Buradaki ID=”rss_aykut” kısmına dikkat.Az sonra kullanacağız bunu.
<Itemtemplate>
<Item>
<title><%# Eval(”title”) %></title>
// burada başlığımızı aldık.
<description>
<![CDATA[<%# Eval(“summary”) %>]]>
// burada rss ‘de gösterilecek özet kısmını aldık.
</description>
<pubDate><%# Eval(”time”) %></pubDate> // zamanı aldık .
<link >http://site.com/yazi.aspx?ID=<%# Eval(”ID”) %></link>
// buradada konumuzun ilgili linki olacak.ID ye göre postu çekiyoruz.
</Item>
</Itemtemplate>
</asp:Repeater>
</channel>
</rss> // ve taglarımızı kapattık. rss.aspx dosyasıyla işimiz bitti.

 

Şimdi sıra geldi veritabanı bağlantısı yapıp rss ile ilişkilendirmeye.Bunun içinde ekstra birşey yok.Hemen kodları veriyorum , açıklamaları ile birlikte.

 

Kodlar

 

OleDbConnection baglanti = new OleDbConnection(); // veritabanı bağlantısı tanımladık.
baglanti.ConnectionString = “Provider=Microsoft.Jet.Oledb.4.0; Data Source=” + Server.MapPath(”App_Data/db.mdb”); 
// connection string ve veritabanı yolunu gösterdik.
baglanti.Open();
// bağlantıyı açtık.
string komut = “Select ID,title,summary,text,time from rss”; 
// sql sorgumuz
OleDbDataAdapter da = new OleDbDataAdapter(komut, baglanti);
DataSet ds = new DataSet();
// dataset tanımladık.
da.Fill(ds);
rss_aykut.DataSource = ds;
// datasete veri kaynağı olarak rss_aykut dedik.
rss_aykut.DataBind(); // veri yükledik.
baglanti.Close(); // bağlantıyı kapattık.

 

Ve işimiz bu kadar,Siz yukarıdaki komutları, yolları vs kendinize göre uyarlayıp kendi rss sisteminizi kodlayabilirsiniz.

İkinci Yol

Bu yol ilk yola göre daha kısa ve kullanışlı bana göre.

Kodlar

 

Bu kodların hepsini sayfanızın Page_Load eventine yazacaksınız.Bu sefer tek tek açıklama yazmıyorum.Çoğunu yukarıda belirttim zaten.

 

Response.Clear();
Response.ContentType = “text/xml”;
XmlTextWriter objX = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
objX.WriteStartDocument();
objX.WriteStartElement(”rss”);
objX.WriteAttributeString(”version”, “2.0¨);
objX.WriteStartElement(”channel”);
objX.WriteElementString(”title”, “HAN (Cyber Warrior TIM) -RSS Uygulaması – RSS Başlığı“); //başlığımız
objX.WriteElementString(”link”, “http://site.com/RSS/default.aspx”);
objX.WriteElementString(”description”, “HAN (Cyber Warrior TIM) -RSS Uygulaması- RSS Tanımlaması”);
OleDbConnection baglanti = new OleDbConnection(”provider=microsoft.jet.oledb.4.0; data source=” + Server.MapPath(”App_Data/db.mdb”));
string sorgu = “select * from rss order by ID desc“;
OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
baglanti.Open();
OleDbDataReader oku = komut.ExecuteReader();
while (oku.Read())
{
objX.WriteStartElement(”item”);
objX.WriteElementString(”title“, oku.GetString(1)); //başlık
objX.WriteElementString(”description“, oku.GetString(2)); //tanımlama
objX.WriteElementString(”link”, “http://site.com/yazi.aspx?ID=”+oku.GetInt32(0).ToString()); //yazı linkini aldık.
objX.WriteEndElement();
}

 

oku.Close();
baglanti.Close();

 

objX.WriteEndElement();
objX.WriteEndElement();
objX.WriteEndDocument();
objX.Flush();
objX.Close();
Response.End();

 

Kolay gelsin.

Aykut AKTAŞ

  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: