C# Rss Reader List

C# Rss Reader List

31. July 2009

Read this article in your language IT | EN | DE | ES

Merhaba arkadaşlar  bu örnek projemde sizlere   Rss Reader ilgili bir örnek  yapıcam RSS Reader Nedir ?

 Rss Reader bir açıklaması olarak şunu  diyebiliriz

Genelde  yaptıgımız projeler makale gibi yayınlarımızı  kullanıcılar RSS Okuyucular üzerinden ,de   Takip Edebilir

Kısacası bir Web Servis Sağlayıcısı Diyebiliriz

 


using System;
using System.Windows.Forms;
using System.Xml;

namespace RRSReaderControler
{
    public partial class frmMain : Form
    {
        XmlTextReader rssReader;
        XmlDocument rssDoc;
        XmlNode nodeRss;
        XmlNode nodeChannel;
        XmlNode nodeItem;
        ListViewItem rowNews;


        public frmMain()
        {
            InitializeComponent();
        }
        private void btnHedefUrl_Click(object sender, EventArgs e)
        {
            try
            {
                prgBar.Value = 0;
                lstHaber.Items.Clear();

                if (txtAdres.Text != null)
                {
                    Cursor = Cursors.WaitCursor;


                }
                else
                {
                    MessageBox.Show(" Lütfen Hedef Adresi Giriniz", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Stop);

                    txtAdres.Focus();

                }
                MessageBox.Show("Rss Feed Listelensinmi", "Mesaj", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                // yeni bir  xmltext reader oluştur
                rssReader = new XmlTextReader(txtAdres.Text);
                rssDoc = new XmlDocument();
                //  xmldocument  içine  rss yükle
                rssDoc.Load(rssReader);

                //  //   rrsdocument  childnode count kadar dön
                for (int i = 0; i < rssDoc.ChildNodes.Count; i++)
                {
                    //  rss tag  childnode  name  rss dönder
                    if (rssDoc.ChildNodes[i].Name == "rss")
                    {

                        nodeRss = rssDoc.ChildNodes[i];
                    }
                }

                //  eger  channel tag  name channel döner
                for (int i = 0; i < nodeRss.ChildNodes.Count; i++)
                {
                    //
                    if (nodeRss.ChildNodes[i].Name == "channel")
                    {
                        //
                        nodeChannel = nodeRss.ChildNodes[i];
                    }
                }

                //  Rss  Kimlik bilgilerini  tanimla
                if (nodeChannel != null)
                {
                    lblbaslik.Text = "Title: " + nodeChannel["title"].InnerText;
                    lbldil.Text = "Language: " + nodeChannel["language"].InnerText;
                    if (nodeChannel != null)
                    {
                        lbllink.Text = "Link: " + nodeChannel["link"].InnerText;
                        if (nodeChannel != null)
                        {
                            lblAciklama.Text = "Description: " + nodeChannel["description"].InnerText;

                            //  tüm tag  dön ve  channel item göster
                            for (int i = 0; i < nodeChannel.ChildNodes.Count; i++)
                            {
                                //  channel childnode  lstviewıtem ekle
                                if (nodeChannel.ChildNodes[i].Name == "item")
                                {
                                    nodeItem = nodeChannel.ChildNodes[i];

                                    // yeni bir lstviewitem   oluştur   node listview item  ekle
                                    rowNews = new ListViewItem { Text = nodeItem["title"].InnerText };
                                    if (nodeItem != null) rowNews.SubItems.Add(nodeItem["link"].InnerText);
                                    lstHaber.Items.Add(rowNews);

                                    //  işlemi adim adim bitir
                                    prgBar.PerformStep();


                                }
                            }
                        }
                    }
                }

                Cursor = Cursors.Default;
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message + "Böyle bir Rss Adresi Yok ", "Geçersiz Adres ", MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }

        private void lstHaber_SelectedIndexChanged(object sender, EventArgs e)
        {
            // secilen  select item  tüm node  içeriklerinde  dön ve listeyi   göster
            if (lstHaber.SelectedItems.Count == 1)
            {

                for (int i = 0; i < nodeChannel.ChildNodes.Count; i++)
                {
                    //
                    if (nodeChannel.ChildNodes[i].Name == "item")
                    {
                        //
                        nodeItem = nodeChannel.ChildNodes[i];
                        //
                        if (nodeItem != null)
                            if (nodeItem["title"].InnerText == lstHaber.SelectedItems[0].Text)
                            {
                                //
                                if (nodeItem != null) txtIcerik.Text = nodeItem["description"].InnerText;
                                // 

                                break;

                            }
                    }
                }
            }
        }

        private void lstHaber_DoubleClick(object sender, EventArgs e)
        {
            //  secilen  selectitem  listeyi   text  göster
            System.Diagnostics.Process.Start(lstHaber.SelectedItems[0].SubItems[1].Text);
        }

        private void cbmHedefListeler_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtAdres.Text = cbmHedefListeler.SelectedItem.ToString();
            cbmHedefListeler.SelectedText = "";
            txtAdres.Focus();
        }

        // temizlik yap
        void Temizle()
        {
            foreach (Control ctr in Controls)
            {
                if (ctr is TextBox)

                    (ctr as TextBox).Clear();
            }
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            frmAbout ab = new frmAbout();
            ab.Show();
        }

        private void frmMain_Load(object sender, EventArgs e)
        {
            lblTarih.Text = DateTime.Now.ToLongDateString();
        }

        private void frmMain_Load_1(object sender, EventArgs e)
        {
            lblTarih.Text = DateTime.Now.ToLongDateString();
            lblSaat.Text = DateTime.Now.ToLongTimeString();
        }

    }
}

  Projenin  Download Adresi  indir
Evet Arkadaşlar genel bir projenin sonuna daha gelmiş olduk  yeni bir projede görüşmek üzere herkeze iyi calışmalar
FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

C# , Tüm Projelerim

Comments

8/14/2009 9:05:12 PM #
Hey I love your style I will subscribe for your feed please keep posting!
8/16/2009 7:24:29 PM #
Very interesting topic will bookmark your site to check if you write more about in the future.
8/27/2009 6:02:52 AM #
Do you accept guest posts? I would love to write couple articles here.
4/16/2010 6:05:59 AM #
Grazie per le gentili parole (Hi | Benvenuti | Hi HI)%% La prima volta BlogTitle (saltň | limitato | luppolata |) saltato qui sul vostro sito, founde su (Google | Yahoo | Bing | ASK). Volevo solo ringraziarvi per il tempo di rispondere al mio problema in modo rapido. Tu sia davvero aperto gli occhi. Ho letto ciň che hai scritto piů e piů e tutto ha un senso cosě tanto. Lo apprezzo dal profondo del mio cuore!  fundament Inviami una novitŕ per thecoldcut@gmail.com
5/7/2010 5:24:11 AM #
go figure Smile|Smile}

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Sayfa 0.03125 saniyede yuklendi.