//bu da xml dosyasını çekip okuyo ve datatable a atıyor
DataTable dt = new DataTable();
// DataTable nesnemizi yaratıyoruz
DataRow dr;
// DataTable ın satırlarını tanımlıyoruz
dt.Columns.Add(new DataColumn("Adı", typeof(string)));
dt.Columns.Add(new DataColumn("Kod", typeof(string)));
dt.Columns.Add(new DataColumn("Döviz alış", typeof(string)));
dt.Columns.Add(new DataColumn("Döviz satış", typeof(string)));
// DataTableımıza 4 sütün ekliyoruz ve değişken tiplerini tanımlıyoruz
XmlTextReader rdr = new XmlTextReader("http://www.tcmb.gov.tr/kurlar/today.xml");
// XmlTextReader nesnesini yaratıyoruz ve parametre olarak xml dokümanın urlsini veriyoruz
// XmlTextReader urlsi belirtilen xml dokümanlarına hızlı ve forward-only giriş imkanı sağlar
XmlDocument myxml = new XmlDocument();
// XmlDocument nesnesini yaratıyoruz
try
{
myxml.Load(rdr);
// Load metodu ile xml yüklüyoruz
XmlNode tarih = myxml.SelectSingleNode("/Tarih_Date/@Tarih");
XmlNodeList mylist = myxml.SelectNodes("/Tarih_Date/Currency");
XmlNodeList adi = myxml.SelectNodes("/Tarih_Date/Currency/Isim");
XmlNodeList kod = myxml.SelectNodes("/Tarih_Date/Currency/@Kod");
XmlNodeList doviz_alis = myxml.SelectNodes("/Tarih_Date/Currency/ForexBuying");
XmlNodeList doviz_satis = myxml.SelectNodes("/Tarih_Date/Currency/ForexSelling");
// XmlNodeList cinsinden her bir nodu, SelectSingleNode metoduna nodların xpathini parametre olarak
// göndererek tanımlıyoruz
dovizKurlari_label_tarih.Text = tarih.InnerText.ToString() + " tarihli merkez bankası kur bilgileri";
// datagridimin captionu ayarlıyoruz
int x = 12;
/* x gibi bir değişken tanımladımbu x =19 DataTable a sadece 19 satır eklenmesini sağlıyor
//* çünkü xml dökümanında 19 node dan sonra
//güncel kur bilgileri değil Euro dönüşüm kurları var
//ve bu node dan sonra yapı ilk 18 node ile tutmuyor*/
for (int i = 0; i < x; i++)
{
string a;
a = kod.Item(i).InnerText.ToString();
//her bir doviz turunu alıyo ve değerlerini okuyo
dr = dt.NewRow();
dr[0] = adi.Item(i).InnerText.ToString(); // i adi nodunun içeriği
// Adı isimli DataColumn un satırlarını /Tarih_Date/Currency/Isim node ları ile dolduruyoruz
dr[1] = kod.Item(i).InnerText.ToString();
// Kod satırları
dr[2] = doviz_alis.Item(i).InnerText.ToString();
// Döviz Alış
dr[3] = doviz_satis.Item(i).InnerText.ToString();
// Döviz Satış
dt.Rows.Add(dr);//değerleri bit satıra attık ve datatable a yerleştirdik
}
dataGridView_dovizKurlari.DataSource = dt;
dataGridView_dovizKurlari.Columns[0].Width = 300;
Hiç yorum yok:
Yorum Gönder