🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / C# RMOS / Merkez Bankası Kurlarını Çekme Veri Kazıma

1-) C# RMOS - Merkez Bankası Kurlarını Çekme Veri Kazıma

 

1-) MerkezKurModel.cs

 

  [XmlRoot("Tarih_Date")]

  public class MerkezKurModel

  {

      [XmlElement("Currency")]

      public List<CurrencyModel> Currencies { get; set; }

  }

 

  public class CurrencyModel

  {

      [XmlAttribute("Kod")]

      public string Kod { get; set; }

 

      [XmlElement("Unit")]

      public int Unit { get; set; }

 

      [XmlElement("Isim")]

      public string Isim { get; set; }

 

      [XmlElement("CurrencyName")]

      public string CurrencyName { get; set; }

 

      [XmlElement("ForexBuying")]

      public string ForexBuying { get; set; } // Bazı değerler boş olabilir, string olarak aldık

 

      [XmlElement("ForexSelling")]

      public string ForexSelling { get; set; }

 

      [XmlElement("BanknoteBuying")]

      public string BanknoteBuying { get; set; }

 

      [XmlElement("BanknoteSelling")]

      public string BanknoteSelling { get; set; }

 

      [XmlElement("CrossRateUSD")]

      public string CrossRateUSD { get; set; }

 

      [XmlElement("CrossRateOther")]

      public string CrossRateOther { get; set; }

  }

 

 

2-) Kullanımı

 

 

 private string Url = "https://www.tcmb.gov.tr/kurlar/today.xml?_=";

 

 public List<CurrencyModel> GetMerkezKur()

 {

 

     TimeZoneInfo turkeyTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Turkey Standard Time");

     DateTimeOffset turkeyTime = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, turkeyTimeZone);

     var aa = turkeyTime.ToUnixTimeMilliseconds() + "";

     Url = Url + aa;

     using (HttpClient client = new HttpClient())

     {

         var response = client.GetStringAsync(Url).Result; // SENKRON ÇALIŞMA

         return DeserializeXml(response);

     }

 }

 

 private List<CurrencyModel> DeserializeXml(string xml)

 {

     XmlSerializer serializer = new XmlSerializer(typeof(MerkezKurModel));

     using (StringReader reader = new StringReader(xml))

     {

         var data = (MerkezKurModel)serializer.Deserialize(reader);

         return data.Currencies;

     }

 }

 

 private  void button1_Click(object sender, EventArgs e)

 {

     List<CurrencyModel> kurlar = GetMerkezKur();

 

     // Konsola yazdırma

     foreach (var kur in kurlar)

     {

         Console.WriteLine($"Kod: {kur.Kod}, İsim: {kur.Isim}, Alış: {kur.ForexBuying}, Satış: {kur.ForexSelling}");

     }

 }

 

 

 2025 Şubat 10 Pazartesi
 184