Ahmet Oğuz Koca

Sosyal olaylar.

Linq ile RSS feed okuma

Linq kullanarak RSS okumak için aşağıdaki kod blogunu kullanabilirsiniz, RSS standartlarında "link" tagiyla içeriğin URL adresine ulaşabiliyorken feedburner gibi servislerde <feedburner:origLink> tagiyla orjinal URL adresini alabiliyoruz bu yüzden kodlar feedburner'a göre optimize edilmiştir.

            XDocument XD = XDocument.Load("http://www.rssaddress.com/address.rsss);

            var x = (from it in XD.Descendants("item")
                     orderby DateTime.Parse(it.Element("pubDate").Value) ascending
                    //  where DateTime.Parse(it.Element("pubDate").Value) > datetime
                     select it.Elements()).ToArray();

                foreach (var itemx in x)
                {

                        string Title="";Link="";DateTime pubDate;

                        foreach (var itemsub in itemx)
                        {

                            if (itemsub.Name == "title")
                            {
                               Title=itemsub.Value;
                            }

                            if (itemsub.Name == "pubDate")
                            {
                                pubDate = DateTime.Parse(itemsub.Value);

                            }
                            if (itemsub.Name == "link")
                            {
                                Link = itemsub.Value;
                            } // feedburnerservisi kullanılmaktaysa direkt URL Addresini almak için bu blokla origLink'i alıyoruz, tag yoksa exception fırlatmaz
                            if (itemsub.Name == "{http://rssnamespace.org/feedburner/ext/1.0}origLink")
                            {
                                Link = itemsub.Value;
                            }
                        }

              }

 

İyi kodlamalar

 

 

Pingbacks and trackbacks (1)+

Loading