Şimdi Ara

c# ta xml kullanımı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
1.192
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • sorunum şu merkez bankasından 2010 yılından itibaren döviz kurları bilgilerini çekmek istiyorum merkez bankası da günlük döviz kurları bilgilerini sitede yayınlıyor ama tatil günlerinde borsa açık olmadığından o günlere ait xml dosyası yok ben bir döngü kurdum ve 5 güne kadar yani tatil günleri dışında yayınlanan xml leri sql veri tabanına alabiliyorum doğal olarak tatil günlerinde xml bulunmadığından o günlere denk geldiğinde xml dosyasından hata alıyorum tatil günlerinin belli bir sistematiği de yok sadece hafta sonları değil bundan kurtulmak için ne yapabilirim..? yardımlarınızı bekliyorum teşekkürler



  • Selamlar
    For dongusunun icinde yaptigin cekme islemi try catch bloklari icinde yap. En basidi bu.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • evet bunu denetim ancak try ve catch çalışmayışının sebebi ikisinin içinde çalışan kodların birbirinden bağımsız olması yani demek istediğim try içinde i=5 kadar geldi ve 6 da hata ile karşılarştı catch e atlayacak ancak burda tekrardan 0 dan başlar manuel de girsem başlangış sayısını 3 yıl için her seferinde nerede takılacağını hesap edip hepsinin önüne try catch koyamam yinede yardımın için tşkkürler
  • en iyisi tüm kodu yazayım siz bi bakın


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;
    using System.Data.SqlClient;

    namespace döviz_kurları
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();

    }

    private void Form1_Load(object sender, EventArgs e)
    {


    }

    private void button1_Click(object sender, EventArgs e)
    {

    dataGridView1.DataSource = source();
    }

    public DataTable source()
    {
    string d, b, c, gün, ay, yil;
    int gün1, ay1,yil1;
    gün = ("01");
    ay = ("01");
    yil = ("2012");
    gün1 = Convert.ToInt32(gün);
    ay1 = Convert.ToInt32(ay);
    yil1 = Convert.ToInt32(yil);
    DataTable dz = new DataTable();
    SqlConnection sqlcon = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=döviz_kurlari;Data Source=JOKER-EVE");
    SqlCommand comm = new SqlCommand();
    comm.Connection = sqlcon;
    sqlcon.Open();
    DataTable dt = new DataTable();
    DataRow dr;
    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)));
    dt.Columns.Add(new DataColumn("Efektif alış", typeof(string)));
    dt.Columns.Add(new DataColumn("Efektif Satış", typeof(string)));
    dt.Columns.Add(new DataColumn("yeni sütun", typeof(string)));
    for (int n = 0; n < 1; n++)
    {
    gün = "01";
    gün1 = Convert.ToInt32(gün);
    int r;
    r = ay1;
    if (r > 7)
    {
    if (r % 2 == 0)
    {
    r = 31;
    }
    else
    {
    r = 30;
    }
    }
    else
    {
    if (r % 2 == 1)
    {
    r = 31;
    }
    else
    {
    if (r == 2)
    {
    if (yil1 % 4 == 0)
    {
    r = 29;
    }
    else
    {
    r = 28;
    }
    }
    else
    {
    r = 30;
    }
    }

    }
    for (int j = 0; j < r; j++)
    {
    b = gün + ay + yil;
    c = yil + ay;

    d = "http://www.tcmb.gov.tr/kurlar/" + c.ToString() + "/" + b.ToString() + ".xml";
    XmlTextReader rdr = new XmlTextReader(d);
    XmlDocument myxml = new XmlDocument();
    myxml.Load(rdr); //TATİL GÜNLERİNDE BURDAN HATA ALIYORUM
    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 efektif_alis = myxml.SelectNodes("/Tarih_Date/Currency/BanknoteBuying");
    XmlNodeList efektif_satis = myxml.SelectNodes("/Tarih_Date/Currency/BanknoteSelling");
    int x = doviz_alis.Count;
    for (int i = 0; i < x; i++)
    {
    dr = dt.NewRow();
    dr[0] = adi.Item(i).InnerText.ToString();
    dr[1] = kod.Item(i).InnerText.ToString();
    dr[2] = doviz_alis.Item(i).InnerText.ToString();
    dr[3] = doviz_satis.Item(i).InnerText.ToString();
    dr[4] = efektif_alis.Item(i).InnerText.ToString();
    dr[5] = efektif_satis.Item(i).InnerText.ToString();
    dt.Rows.Add(dr);
    //comm.CommandText = "insert into currency(name,code) values('"+dr[0]+"','"+dr[1]+"')";
    //comm.ExecuteNonQuery();
    //comm.CommandText = "insert into exrates(code,cbuying,cselling,ebuying,eselling) values('" + dr[1] + "','" + dr[2] + "','" + dr[3] + "','" + dr[4] + "','" + dr[5] + "')";
    //comm.ExecuteNonQuery();
    //comm.CommandText = "insert into exrates(d_date) values('"+gün+"."+ay+"."+yil+"')";
    //comm.ExecuteNonQuery();
    }
    gün1++;
    if (gün1 < 10)
    {
    gün = "0" + gün1.ToString();
    }
    else
    {
    gün = gün1.ToString();
    }
    }
    ay1++;
    if (ay1 < 10)
    {
    ay = "0" + ay1.ToString();
    }
    else
    {
    ay = ay1.ToString();
    }
    } return dt;
    }
    }
    }




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.