Home Contact RSS

Archive for September, 2007

RSS Sayfası Oluşturma

Basit bir RSS Feed aşağıdaki gibi oluşturulabilir. Aşağıda boş bir şekilde oluşturulan Rss.ashx dosyasının nasıl kodlar içermesi gerektiğini örnek olması açısından paylaşıyorum.

<%@ WebHandler Language="C#" Class="Rss" %>

using System;
using System.Web;
using System.Xml;
using System.Collections;

public class Rss : IHttpHandler {
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = “text/xml”;
        context.Response.ContentEncoding = System.Text.Encoding.GetEncoding( “iso-8859-9″ );
        context.Response.Write( “” );
        getXml( context );
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

    void getXml(HttpContext context)
    {
        XmlTextWriter x = new XmlTextWriter( context.Response.Output );

        x.WriteStartElement( “rss” );
        x.WriteAttributeString( “version”, “2.0″ );
        x.WriteAttributeString( “xmlns:dc”, “http://purl.org/dc/elements/1.1/” );

        x.WriteStartElement( “channel” );

        x.WriteStartElement( “title” );
        x.WriteString( “Web sitenizin ismi” );
        x.WriteEndElement(); // end title

        x.WriteStartElement( “link” );
        x.WriteString( “Web sitenizin linki” );
        x.WriteEndElement(); // end link

        x.WriteStartElement( “description” );
        x.WriteString( “Web sitenizle ilgili açıklama” );
        x.WriteEndElement(); // end description

        // Aşağıdaki foreach comment edilmiş durumda çünkü burayı sizin kendi kodunuza uygun olarak yazmanız gerekmekte.
        //foreach ( DictionaryEntry m_PostEntry in m_Posts )
        //{

            x.WriteStartElement( “item” );

            x.WriteStartElement( “title” );
            x.WriteString( “Yazının başlığı” );
            x.WriteEndElement(); // end title

            x.WriteStartElement( “link” );
            x.WriteString( “Yazının tam adresi” ); // ör: http://sunali.com/2005/02/14/resource-dosyasyndan-resim-gosterme/
            x.WriteEndElement(); // end link

            x.WriteStartElement( “description” );
            x.WriteString( “Yazı içeriği” );
            x.WriteEndElement(); // end description

            x.WriteStartElement( “dc:creator” );
            x.WriteString( “Yazar ismi” );
            x.WriteEndElement(); // end dc:creator

            x.WriteStartElement( “pubDate” );
            x.WriteString( “Yazı tarihi” );
            x.WriteEndElement(); // end pubDate

            x.WriteEndElement(); // end item
        //}

        x.WriteEndElement(); // end channel
        x.WriteEndElement(); // end rss
    }

}