mehmetduran.com - Paylaşmak Güzeldir...
Asp.net Rss Hazırlama
Sitelerde çok sık kullanılan rss`in nasıl hazırlandığına bakacağız. Rss aslında xml formatında hazırlanmış bir sayfa veya dosyadır. Bunun için ;
using System.Text; // text tipini belirtmek için
using System.Xml; // rss doyamızı sayfamızı xml formatında hazırladığımız için
using System.Data.OleDb;
// bilgileri veritabanından aldığımız için
namespacelerini ekliyoruz.

Daha sonra da adını istediğimiz şekilde koyduğumuz sayfanın page_load kısmına aşağıdaki kodları ekliyoruz. Ben örnek olarak sayfanın adını rss.aspx olarak kullandım.

public partial class rss : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        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", "mehmetduran.com - rss");
        objX.WriteElementString("link", "http://www.mehmetduran.com/rss.aspx");
        objX.WriteElementString("description", "Mehmet Duran - Rss");
        OleDbConnection baglanti = new OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=" + HttpContext.Current.Server.MapPath("~/veritabanı.mdb"));
        string sorgu = "select top 10 id,baslik,haber,tarih,okunma from haberler order by id desc"; // sorgu ile en son eklenen 10 haberi seçiyoruz ve rss`imizi oluşturuyoruz
        OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
        baglanti.Open();
        OleDbDataReader oku = komut.ExecuteReader();
        while (oku.Read())
        {
            objX.WriteStartElement("item");
            objX.WriteElementString("title", oku.GetString(1));
            objX.WriteElementString("description", oku.GetString(2));
            objX.WriteElementString("link", "http://www.mehmetduran.com/news.aspx?nid="+oku.GetInt32(0).ToString());
            objX.WriteEndElement();
        }

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

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

Sizde yukarıda gerekli alanları değiştirerek istediğiniz rss`leri oluşturabilirsiniz.
İyi Çalışmalar!
Mehmet Duran 23 Haziran Pazartesi 2008 35 16401 4,3
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Javascript (Ajax) ile Elde Edilen Datetime Türündeki Veriyi İşleme Linq to Xml (Linq Konusuna Devam) Bloğumda Kullandığım SiteMap Sınıfı Jquery ile Tek Tek Kayan Alan Oluşturma ve Ajax ile Rss Okuma Örneği Asp.net ile HttpModule Kullanımı (Sistem Açma ve Kapatma)
Yorumlar
Yorum Yaz
RSS Yorum Takibi
yakup-buğra 15 Ocak Perşembe 2009 21:43 #1
Bi sorum olacak burda rss.aspx sayfası var. Bunu projeye eklediniz mi. eklediyseniz içeriği boş aspx sayfasım olarak mı kaldı yoksa ayrıca html tagları felan eklediniz mi?
Mehmet Duran 15 Ocak Perşembe 2009 21:50 #2
Burada işlem yaptığımız dosya rss.aspx dosyası. Projeye eklemeliyiz. Html tagların olup olmaması önemli değil. Aslında gerek yok. Response.clear ile sayfadaki tüm herşeyi siliyoruz. Aslında rss.aspx sayfasın yerine projeye xml belge ekleyip bu belge üzerinde aynı işlemleri yapabiliriz.
ali 28 Ocak Çarşamba 2009 00:19 #3
Yazdığımız bu rss firefox desteklememektedir.
Mehmet Duran 28 Ocak Çarşamba 2009 11:03 #4
Şu anda kendi sitemde bulunan rss sayfasını bu yöntemle hazırladım ve firefox dahil birçok tarayıcıda sorunsuz çalışıyor. Çalışmayan tarayıcılarda var ama bu tarayıcıların eski olmsından ve rss desteklememesinden kaynaklanıyor.
ahmet 15 Şubat Pazar 2009 18:47 #5
Acaba daha önce checkbox ile yaptığınız rss in kodlarını da koyabilirnisiniz?veya anlatımını.. sitede arama yaptım ama bulamadım http://www.ajax.mehmetduran.com/ bu sayfadaki ajax ile rss okuma örneği....
Mehmet Duran 15 Şubat Pazar 2009 19:34 #6
Merhaba. Öncelikle checkbox değil dropdownlist olarak düzelteyim. Söylediğin örneğin bundan farkı yok. Sadece ajax ile elde ediyorum. Geçen günlerde ajax ile tam buna göre bir örnek yapmıştım. Buradan görebilirsin.
Osman Akar 27 Nisan Pazartesi 2009 03:03 #7
Hoca sen varya kralsın yafff. İnternette o kadar araştırdım toolkit de yükledim yapamadım ama senin dediğin yöntemle yaptım çok kıyak oldu vallahi. Ellerin dert görmesin
murat 07 Ağustos Cuma 2009 15:58 #8
Hoca ellerine sağlık çok yararlı bi konuya değinmişsin, iyi çalışmalar.
AhmeT 08 Ağustos Cumartesi 2009 21:08 #9
Mehmet Hocam , tskr ederiz bu faydalı bilgileriniz için .. Hocam dediğiniz yöntemi uyguladım fakat , sitenizdeki Rss bölümüne giriyorum , benim aldığım sonuctan cok farklı .. Bende haberleri yazdırmayı başardım fakat , düz text halinde ve hersey yanyana .. Eksik birşey mi yaptım acaba ?
Mehmet Duran 09 Ağustos Pazar 2009 01:35 #10
Attığın maile cevap vereceğim. Umarım sorununu düzeltiriz.
AhmeT 09 Ağustos Pazar 2009 04:29 #11
Hocam , kodlarda herhangi bir sıkıntı yokmus .. Hic birsey yapmadıgım halde calıstı daha sonradan , sanırım güncellemelerimde bir sorun vardı .. Tskr ederim ilginiz icin ..
Ahmet 20 Ağustos Perşembe 2009 08:07 #12
Hocam merhaba tekrar , yukarda ali arkadasımızın soylediği gibi , rss firefox ta çalışıyor fakat "Bu XML belgesi ile herhangi bir stil bilgisi bağlantılı değil. Belge ağacı aşağıdaki gibi gösterilecek." gibi bir uyarı veriyor .. Ve görünüm , xml görünümü .. Kodları bire bir yazıyorum fakat yine değişen bir şey yok.. Konuyla ilgilenirseniz sevinirim .. Teşekkürler
Mehmet Duran 20 Ağustos Perşembe 2009 23:40 #13
Sitemde kullandığım RSS servisini de tamamen bu kodlarla oluşturdum ve mozilla 2.0 ve üstünde sorunsuz çalışıyor. Bu localde çalışmanızdan kaynaklanabilir veya tarayıcı desteklemiyorsa Rss versiyonunu destekleyen biçimde değiştirmek gerekir. Burada 2.0 versiyonu var. Rss'in çeşitli versiyonları var. Bu versiyonlara göre Rss oluşturabilirsin.
Mehmet ÇOKTAY 02 Ekim Cuma 2009 16:11 #14
uygulamanın örneğini görme şansımız varmı acaba.İyi çalışmalar
Mehmet Duran 02 Ekim Cuma 2009 16:17 #15
Uygulamanın çalışır halini sitemdeki RSS ile görebilirsin. Ancak buradaki yazımda paylaştığım RSS sınıfını kullanıyorum. Ancak oradaki sınıfı buradaki kodları uyarlayarak yazdım. İster buradaki kodları istersen de yazdığım RSS sınıfını kullanabilirsin.
Mehmet Çoktay 03 Ekim Cumartesi 2009 16:51 #16
daha önceki örneklerinizde .cs dosyasınıda veriyordunuz ve ordan çalıştırarak takip edebiliyordum.o yüzden istemiştim.
birde http://www.mehmetduran.com/news.aspx?nid="+oku.GetInt32(0).ToString());
satırındaki news.aspx ile ne yapıyoruz.bu satırı anlamadım.çözemedim burdaki mantığı.yardımcı olursanız sevinirim
Mehmet Duran 03 Ekim Cumartesi 2009 17:04 #17
Bu çok çok önce yazdığım bir yazı olduğu için örnek dosya yok. Dediğin satırda RSS ile verdiğim bilgilerin asıl sayfasına link oluşturuyorum. Gerçekte verileri news.aspx sayfası üzerinde gösteriyorum. Örnekteki gibi bir link yapısı kullandığım için kodlarda da linkleri bu şekilde oluşturdum.
ali 10 Ekim Cumartesi 2009 21:09 #18
Merhaba local de bir türlü çalıştıramadım.Internet Explorer bu özet akışını görüntüleyemiyor.Bu özet akışı kod hataları içeriyor. şeklinde hata veriyor. IE-7 kullanmaktayım ve kodu doğru yazdığımdan da eminim. Belgenin üst düzeyinde geçersiz. Satır: 1 Karakter: 477 şeklinde de ek bilgi var. Yardımlarınızı bekliyorum...
Mehmet Duran 10 Ekim Cumartesi 2009 23:35 #19
Sorun olmaması gerekiyor. Aynı kodları kullanıyorum şu anda. Eğer sitemdeki RSS'i görüntüleyebiliyorsan sorun muhtemelen kodlardan kaynaklanıyordur. Ayrıca aynı kodları kullanarak oluşturduğum RSS sınıfını da kullanabilirsin.
ali 10 Ekim Cumartesi 2009 23:52 #20
Ben try-catch bloğu kullanarak yazmıştım.try-catch i kaldırınca sorun çözüldü.Yine de cevap için teşekkürler.
midyatrehberi 19 Aralık Cumartesi 2009 12:06 #21
Yapamadım rss yi yaa
Mehmet Duran 19 Aralık Cumartesi 2009 23:58 #22
Sorun nedir acaba? Yardımcı olalım.
cevher hüseyin 31 Aralık Perşembe 2009 21:33 #23
bende yapamadım yav,şu rss'yi, :( sorun ben web.configden sayfaları path yazarak izin veriyom,yani yazdığım sayfalar izinli.rss.aspx sayfasına izin verdim gene izin vermemişin gibi bi url adresi geliyor.yardım edebilirmisiniz?
Mehmet Duran 01 Ocak Cuma 2010 01:10 #24
Merhaba. Linkini verdiğin site ise bir sorun yok. Sorunmuş gibi gözüken durum tarayıcıdan kaynaklanıyor. Muhtemelen Firefox'ta çalıştırıyorsunuz ve Firefox abone olmanız için bir uyarı penceresi açıyor. Bu Firefox'ta olan bir durum. Diğer tarayıcılarda böyle bir durum söz konusu değil.
özlem 02 Haziran Çarşamba 2010 12:03 #25
merak ettiğim tek şey neden response .write değilde response koşul kullanılmış
Mehmet Duran 02 Haziran Çarşamba 2010 23:41 #26
Burada Response.Outstream olarak xml nesnesinin çıktısını elde ediyoruz ve kullanıcı tarafına gönderiyoruz. Bu işlem Response.write ile de yapılır ancak buradaki xml tagları teker teker write etmek gerekir veya xml nesnesini en sonda render edip write ile response nesnesine ekleyebiliriz.
Ruzgar Aydemir 20 Eylül Pazartesi 2010 17:44 #27
bu şekilde hazırladığımız Rss.aspx dosyasından facebook sayfalarına rss içe aktarma yapamıyoruz problem çıkartıyor. buna nasıl bir çözüm bulabiliriz üstadum ?
Mehmet Duran 20 Eylül Pazartesi 2010 20:43 #28
Şimdiye dek bu yapıda kullandım ve birçok yerden RSS okuyucular ile verileri elde ettim. Söylediğin gibi bir problem yaşamadım. Problem olmuş ise Rss dosyasının versiyon numarası veya diğer özellikleri neden oluyor olabilir. Onlara göz atmanı öneririm.
Ruzgar Aydemir 21 Eylül Salı 2010 12:59 #29
teşekkür ederim üstadım. önerin doğrultusunda bir araştırma yapayım umarım facebook ta okur rss imi =)
hasan özdemir 16 Kasım Salı 2010 18:10 #30
bn buradakinin aynsını yatım fakat aşağıdaki hatayı alıyorum. ASPNET: Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl).
Mehmet Duran 24 Kasım Çarşamba 2010 15:59 #31
@hasan, kodları bir sayfanın kod bölümüne yazman gerekiyor. Sen direk boş bir sınıfın altında yapmaya çalıştın sanırım.
Kemal 15 Aralık Çarşamba 2010 10:36 #32
*.aspx uzantili sayfayi nasil XML uzantili gosterebiliriz, cunku bazi rss readerlar uzantiyi tanimiyorlar.
Mehmet Duran 06 Ocak Perşembe 2011 11:01 #33
@Kemal, bunun için Url rewrite yöntemini kullanman gerekir. .Net 4.0 ile gelen Routing yöntemi ile çok kolay biçimde istediğini yapabilirsin.
Murat 06 Mart Pazar 2011 20:48 #34
Merhabalar. Öncelikle yazınız için çok teşekkürler. Benim sorum şu: Sitemde Urlrouting kullanıyorum. yani linklerim "http://www.turkdili.info/Milli_Mucadele_Donemi_Karikaturleri_makalesi_63.aspx" şeklinde görünüyr. Sizin Rss uygulamanızda " objX.WriteElementString("link", "http://www.mehmetduran.com/news.aspx?nid="+oku.GetInt32(0).ToString());" satırını urlroutinge göre nasıl yazmalıyım?
Mehmet Duran 08 Nisan Cuma 2011 22:35 #35
@Murat, bunun için bir fonksiyon yazmalısın ve bu fonksiyon url'de olacak değerleri parametre ile almalı. Fonksiyon içinde ise sen gelen değerleri url yapısına göre string olarak düzenleyeceksin. Bunun için MVC'de helper metotlar mevcut. Senin yapman gereken de helper metotlarının benzerlerini oluşturmak.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Başarısızlıklarınız ile soylu bir şekilde yüzleşin, başarıdan farkı kalmayacaktır.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009