C# derslerimize merkez bankasından döviz kurlarını çekme örneği ile devam ediyoruz. Döviz bilgilerini Merkez bankasının https://www.tcmb.gov.tr/kurlar/today.xml adresinden alacağız. Döviz kuru bilgilerini çekmek için kullanacağımız sayfayı açınca
<Currency CrossOrder="0" Kod="USD" CurrencyCode="USD"> <Unit>1</Unit> <Isim>ABD DOLARI</Isim> <CurrencyName>US DOLLAR</CurrencyName> <ForexBuying>6.0578</ForexBuying> <ForexSelling>6.0687</ForexSelling> <BanknoteBuying>6.0536</BanknoteBuying> <BanknoteSelling>6.0778</BanknoteSelling> <CrossRateUSD/> <CrossRateOther/> </Currency>
şeklinde bir çıktı alacağız, burada verilen döviz bilgilerinden
Currency : Para birimine ait bilgilerin bulunduğu alan
Isim : Para biriminin adı
ForexBuying: Kur alış
ForexSelling : Kur satış’ı ifade ediyor.
İlk olarak anlık döviz bilgilerini görüntüleyeceğimiz form tasarımını oluşturalım.
Daha sonra kodlarımız
//Xml verileri XDocument tcmbdoviz = XDocument.Load("http://www.tcmb.gov.tr/kurlar/today.xml"); /* Merkez bankasından günlük döviz kurlarını alabiliriz. http://www.tcmb.gov.tr/kurlar/today.xml Örnek today.xml çıktısı <Currency Kod="USD" CurrencyCode="USD"> <Unit>1</Unit> <Isim>AMERİKAN DOLARI</Isim> <CurrencyName>US DOLLAR</CurrencyName> <ForexBuying>1.5218</ForexBuying> <ForexSelling>1.5291</ForexSelling> <BanknoteBuying>1.5207</BanknoteBuying> <BanknoteSelling>1.5314</BanknoteSelling> <CrossRateUSD>1</CrossRateUSD> https://www.bilisimogretmeni.com/ <CrossRateOther></CrossRateOther> </Currency> Currency : Para birimine ait bilgilerin bulunduğu alan Isim : Para biriminin adı ForexBuying: Kur alış ForexSelling : Kur satış */ public Anaform() { InitializeComponent(); } private void Anaform_Load(object sender, EventArgs e) { label1.Text = ""; } private void button1_Click(object sender, EventArgs e) { //Verileri listbox'a aktar listBox1.Items.Clear(); try { //Linq kullanarak verileri getir var kurbilgileri = from kurlar in tcmbdoviz.Descendants("Currency") select new { kuraditr = kurlar.Element("Isim").Value }; //Listbox'a aktar foreach (var dovizler in kurbilgileri) { listBox1.Items.Add(dovizler.kuraditr.ToString()); } } catch (Exception hata) { label1.Text = "Veriler alınamadı. Hata :" + hata.Message; return; } } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { //Elemanlar değiştiğinde https://www.bilisimogretmeni.com/ var kurbilgileri = from kurlar in tcmbdoviz.Descendants("Currency") where kurlar.Element("Isim").Value == listBox1.SelectedItem.ToString() select new { kuradiing = kurlar.Element("CurrencyName").Value, kuralis = kurlar.Element("ForexBuying").Value, kursatis = kurlar.Element("ForexSelling").Value }; foreach (var veriler in kurbilgileri) { label1.Text = string.Format("Adı : {0} Alış : {1:C} Satış : {2:C}", veriler.kuradiing, veriler.kuralis, veriler.kursatis); } }
merhaba. emeğinize sağlık. today.xml diye bir uzantının olduğunu nereden biliyorsunuz?
https://www.tcmb.gov.tr/kurlar/today.xml burası merkez bankası tarafından sağlanan bir veri hizmeti