mehmetduran.com - Paylaşmak Güzeldir...
Asp.net ile Xml Belgeleri Okuma
Bu yazımda herhangi bir xml belgeyi okuma ve bu belgedeki değerleri alarak bu değerleri nasıl kullanabileceğimizden bahsedeceğim. Bu konuyu anlatırken vereceğim örnekte xml belgesi olarak kendi sitemin rss beslemesini kullanacağım. Günümüzde internet ortamında çok daha çabuk haberleşmemizi sağlayan ve iletişim de çok kolaylıklar sağlayan xml belgelerle bu yöntemi kullanarak çeşitli uygulamalar yapabiliriz. Örneğin;
  • birçok site de kullanılan para ve borsa bilgilerini,
  • hava durumu bilgilerini,
  • haberleri (son dakika haberleri, spor haberleri) bu yöntemle çekerek sitemizde yaptığımız uygulamalarla kullanıcılara sunabiliriz. Böylece sitemiz için farklı içerikler elde etmiş oluruz.
Peki bu olayı nasıl yapacağız?

Bunun için verilerini alacağımız xml belgenin yapısını bilmeliyiz. Çünkü; verileri çekerken bu yapıya uygun olarak çekeceğiz. Vereceğim örnekte kendi sitemin rss beslemesini kullanacağım ve rss belgelerin yapısı şu şekilde oluyor:

Xml Okuma - Rss Formatı

Bu yapı da olan rss beslemesinden item altında bulunan title bölümünü getiren örnek kodlarımız şöyle olacak:

    protected void Page_Load(object sender, EventArgs e)
    {
        XmlTextReader okuyucu = new XmlTextReader("http://www.mehmetduran.com/rss.aspx");
        XmlDocument dokuman = new XmlDocument();
        dokuman.Load(okuyucu);
 
        XmlNode rss = dokuman.SelectSingleNode("/rss");
        XmlNodeList title = dokuman.SelectNodes("/rss/channel/item/title");
 
        DataTable tablo = new DataTable();
        DataRow satır;
        tablo.Columns.Add(new DataColumn("Başlıklar"));
 
        for (int i = 0; i < 5; i++)
        {
            satır = tablo.NewRow();
            satır[0] = title.Item(i).InnerText.ToString();
            tablo.Rows.Add(satır);
        }
 
        GridView1.DataSource = tablo;
        GridView1.DataBind();
    }


Bu kodlarla oluşan uygulamanın ekran görüntüsü ise şöyle:

Xml Okuma - Ekran Görüntüsü

Böylece xml belgeden nasıl veri çekileceğini görmüş olduk. Bunun gibi çeşitli uygulamalar yapabiliriz.
İyi Çalışmalar!
Mehmet Duran 28 Ağustos Perşembe 2008 27 54581 3,5
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar MySql Veri Türleri ve Select Komutu Örnekleri Asp.net ile Dinamik Sitemap Hazırlama Access ile Asp.net'te Üyelik Sistemi Asp.net ile Gridview'da CheckBox Oluşturma ve Kontrol Etme Bloğumda Kullandığım SiteMap Sınıfı
Yorumlar
Yorum Yaz
RSS Yorum Takibi
mseker 28 Ekim Salı 2008 22:07 #1
mesela veri tabanında her başlık( ya da id) için farklı bir xml adresi var, farklı kayda geçtiğinde xml'nin de otomatik değişmesi için ne yapabiliriz?
Mehmet Duran 28 Ekim Salı 2008 22:17 #2
Merhabalar! Sorduğunuz soruya anladığım kadarıyla cevap vereyim. for döngüsü ile farklı xml verilerini çekiyoruz. Farklılığı for döngüsü ile sağlıyoruz. Siz de döngülerle işinizi halledebilirsiniz.
levent 12 Kasım Çarşamba 2008 12:00 #3
page load kodları yazdıgımda xmltextreader bende aşağı dogru acılan kod listesinde çıkmıyo acaba xml okuyuc yaparken tanımlamamız gerekn bir namespace varmı using system.... şeklinde
Mehmet Duran 12 Kasım Çarşamba 2008 15:59 #4
Xml ve nesneleri için using System.xml kütüphanesini eklemeliyiz.
Bir Dost 03 Ocak Cumartesi 2009 22:41 #5
Helal olsun be işte türk gücü :D
SERKAN KILIÇ 02 Şubat Pazartesi 2009 12:05 #6
arkadaşlar bu konuyu arıyordum tam 1 aydır ... data`daki yeni eklenen ilk 5 haberi listeliyip haberin başlığına mouse ile geldiğimde resmide solda gözükebilirmi nasıl yapabilirim yada birtane örnek gösterebilirmisinz
Mehmet Duran 02 Şubat Pazartesi 2009 12:08 #7
Merhaba. Arkdaşım manşet alanı için daha önce bir yazı yazmıştım ona buradan bakabilirsin. Son beş yazıyı çekmek için de şöyle bir sorgu yazabilirsin. "Select top 5 * from tablo_adi order by sutun_adi desc"
huseyin 26 Temmuz Pazar 2009 23:23 #8
merhaba.Konu ile alakalı değil ama burada sorayım dedim.Buradaki Share başlığı ile yaptıgın, yani diğer siteler ile(facebook,technorati..) paylaşma olayını nasıl yaptın??yani kendi sitene nasıl ekledin?
Mehmet Duran 26 Temmuz Pazar 2009 23:42 #9
Share olayı Addthis.com sitesinin bir hizmeti. Bu siteye girip html kodu alıyorsun ve sitene ekliyorsun. Direk kullanıldığı gibi bir takım ayarları da yapabiliyorsun. Bunun için addthis.com sitesine biraz göz atman yeterli.
ali 28 Temmuz Salı 2009 14:32 #10
Merhaba.Buradaki satır[0] her satır için sıfırıncı sütununu mu ifade ediyor??
Mehmet Duran 28 Temmuz Salı 2009 23:07 #11
Evet orada oluşturduğumuz her satırın ilk sütununa değer veriyoruz.
mexxanit 27 Ekim Salı 2009 17:01 #12
ben senin örneğinin dışına çıkarak description u da aldım fakat onun arasında bulunan < link> veya < strong> gibi tagları kaldırmanın kolay bir yolu var mı ? Replace gibi şeyler dışında ??
Mehmet Duran 27 Ekim Salı 2009 23:09 #13
Merhaba. Bunun için regular expression kullanabilirsin ancak yine bu yöntem içerisende de replace var. Zaten olmak zorunda. Ancak regular expression'a ait bir metot. Buradaki yazımda ilk metottaki gibi bir kullanım ile tüm html tagları temizleyebilirsin. O metot ile oynayarak istediğin tagları süzebilirsin.
mexxanit 30 Ekim Cuma 2009 01:24 #14
evet gösterdiğin örnekteki metod süper olmuş. Çok teşekkürler... @"<(.\n)*?>" bunun kullanıldığını bilmiyordum her tag için replace ile uğraşacağım sanmıştım.
Muhamed Emre 05 Ocak Salı 2010 11:41 #15
Merhabalar öncelikle yazdığınız makala için teşekkür ederim. ben sizin yazdığınız makale gibi işlem yapıyorum çalışıyor sorun yok ama bir türlü description çağıramıyorum yardımcı olursanız sevinirim.
Mehmet Duran 06 Ocak Çarşamba 2010 05:13 #16
Description için title bilgilerini almak için ne yapıyorsak aynısını yapacaksın. Tek değişecek nokta title tagı yerine descrtion tagının değerlerini almak.
Tansel Dinçkaya 09 Kasım Salı 2010 23:57 #17
Elinize Sağlık Güzel Bi Örnek Olmuş peki biz asp.net ile xml dosyasına nasıl kayıt yaparız ?
Ahmet DEMİR 12 Kasım Cuma 2010 11:30 #18
Başka bir siteden rss okurken A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 212.174.189.120:80 hatası veriyor ama aynı rss yi localhostta çalışırken okuyor.
Mehmet Duran 13 Kasım Cumartesi 2010 13:40 #19
@tansel, bu konuda nesneler var. (XmlReader, XmlWriter, vb.) Bu nesneleri kullanarak işlem yapabilirsin. Veya text dosyasına text yazar gibi xml verileri de yazabilirsin.
Mehmet Duran 13 Kasım Cumartesi 2010 13:45 #20
@Ahmet, burada sıkıntı yazmış olduğun sunucunun bulunamamasından kaynaklanıyor. Yani ortada okunacak bir belge olmadığı için hata alıyorsun. Yazdığın adresin çalıştığından ve erişilebilir olduğundan emin olmalısın.
Ahmet DEMİR 14 Kasım Pazar 2010 01:17 #21
Okumaya çalıştığım rss kaynağı localhostte çalışırken sıkıntısız çalışıyor.Zaten rss kaynağım Milli Eğitim Bak. Aynı kodları sunucuya atınca erişilemiyor hatası veriyor
Ahmet DEMİR 23 Kasım Salı 2010 15:28 #22
Sayfa Milli Eğtimin rss sayfası
Mehmet Duran 24 Kasım Çarşamba 2010 15:58 #23
@Ahmet, o zaman sunucun milli eğitim sitesine bağlanmıyor. Bunun için sunucunun bağlanıp bağlanamadığını öğrenmen gerekir. Eğer sunucu senin değilse sunucu sahipleri ile bu konuyu görüşmen gerekebilir.
Ali Ağzıbağlı 10 Şubat Perşembe 2011 01:24 #24
Üstad bu çalışmayı denedim güzel oluyor fakat, GridView yerine datalistte nasıl yaparız? ben denedim uğraştım yapamadım da?
Mehmet Duran 08 Nisan Cuma 2011 22:04 #25
@Ali, burada gridview, datalist veya başka bir kontrolün önemi yok. Yapman gereken eline geçen diziyi ekranda göstermek. Bunu hiçbir kontrolden olmadan döngü ile de yapabilirsin.
Önder 29 Nisan Cuma 2011 15:51 #26
Attributleri nasıl okuyacağız?
Mehmet Duran 01 Mayıs Pazar 2011 23:43 #27
@Önder, buradaki yazımda paylaşmış olduğum örnekte attribute okuma var. Sanırım yardımcı olur.
İ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.
Büyük işler gibi, büyük düşüncelerinde davula ihtiyaçları yoktur.
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