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