13 public string adres { get; set; }
//Öncelikle RSS'imizi alacağımız adresi tanımlayalım
14 rotected void Page_Load(object sender, EventArgs e)
15{
1if (!String.IsNullOrEmpty(adres))
//En basitinden adresin valid ya da null olup olmadığını kontrol edelim.Çok çeşitli hatalar alabiliriz ama şimdilik bu kontrol bize yeterli olacaktır.
17 {
18 try
19 {
20 XElement xelement = XElement.Load(adres);
//XElement XML elementini temsil eder.Linq ile sorgulayacağımız RSS'teki XML nesnelerini bu elemente alacağız.
21
22 var items = from i in xelement.Element("channel").Elements("item")
//Burada XML nesnemizin içine giriyoruz.
Benim bu uygulamamda kullandığım RSS http://umutluoglu.com/syndication.axd adresindeki XML nesneleri olacak.Bu adrese girip sayfaya sağ tıkladığınızda XML dosyasında XML yapısını görebilirsiniz.
23 select new
24 {
25 Title = i.Element("title").Value,
26 PubDate = Convert.ToDateTime(i.Element("pubDate").Value),
27 Description = i.Element("description").Value,
28 Link = i.Element("link").Value
29
30 };
//XML nesnesinin özelliklerine görüdüğünüz gibi i.Element("propertiadi") olarak erişebiliyorum.
Sorgumdan geri dönen XML nesnelerimi bir foreach döngüsüne sokarak istediğim işlemi yapabilirim.Ben geri dönen nesnelerimi bir hyperlink olarak göstericem böylece ilgili adresteki RSS lere link referansı vermiş olacağım.
31 foreach (var item in items)
32 {
33 HyperLink hlink = new HyperLink();
34 hlink.Text = item.Title;
35 hlink.NavigateUrl = item.Link;
36 hlink.ToolTip = item.Description;
37 Controls.Add(hlink);
38 Controls.Add(new LiteralControl("<br/>"));
39
40 }
41 }
42 catch (Exception ex)
43 {
44 Label label = new Label();
45 label.Text = ex.Message;
46 Controls.Add(label);
47 }
48 }
49 }
14 WebUserControl11.adres = http://www.umutluoglu.com/syndication.axd;