C# ile XML dosyadan Datagridview‘ e verileri çeken ve LINQ ile kayıt ekleme, kayıt silme ve güncelleme işlemlerini yapan örnek proje için aşağıdaki formu oluşturuyoruz.
“veri.xml” dosyamızı aşağıdaki şekilde oluşturup projemizde bulunan ../debug/bin klasörü altına kopyalıyoruz.
Program çalıştırıldığında datagridview‘ de verilerin görüntülenmesi ve yine aynı şekilde veri ekleme, veri silme ve veri güncelleme durumunda verilerin güncellenmesi için verileri datagrid’ e dolduran kodları “doldur” isimli bir metot içine yazacağız.
Kaydet butonuna basıldığında textboxlara girilen değerlerin kaydolmasını,
Sil butonuna basıldığında textbox1 e girilen numaralı öğrencinin kaydının silinmesini ve datagrid’ in güncellenmesini,
Güncelle butonuna basıldığında ise Textbox1′ e girilen numaraya göre girilen diğer bilgilerin güncelnmesini ve datagridview’ deki verilen aynı şekilde güncellenmesini sağlayacağız.
Kodlarımız aşağıdaki şekilde olacaktır.
1 2 3 4 | using System.Xml; using System.Xml.Linq; |
eklemeyi unutmayalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 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.Xml.Linq; namespace xml_datagridview_aktar { public partial class Form1 : Form { public Form1() { InitializeComponent(); } void yukle() { XmlDocument i = new XmlDocument(); DataSet ds = new DataSet(); //xml dosyamızı okumak için bir reader oluşturuyoruz. XmlReader xmlFile; xmlFile = XmlReader.Create(@"veri.xml", new XmlReaderSettings()); //içeriği Dataset e aktarıyoruz. ds.ReadXml(xmlFile); //datagridviewin kaynağı olarak dataseti gösteriyoruz. dataGridView1.DataSource = ds.Tables[0]; xmlFile.Close(); } private void Form1_Load(object sender, EventArgs e) { yukle(); } private void button1_Click(object sender, EventArgs e) { XDocument x = XDocument.Load(@"veri.xml"); x.Element("Ogrenciler").Add( new XElement("ogrenci", new XElement("id", textBox1.Text), new XElement("adi",textBox2.Text), new XElement("soyadi",textBox3.Text), new XElement("telefonu", textBox4.Text) )); x.Save(@"veri.xml"); yukle(); } private void button2_Click(object sender, EventArgs e) { XDocument x = XDocument.Load(@"veri.xml"); //ürün id= textbox'a girilen numaralı öğrenciyi sil x.Root.Elements().Where(a => a.Element("id").Value == textBox1.Text).Remove(); x.Save(@"veri.xml"); yukle(); } private void button3_Click(object sender, EventArgs e) { XDocument x = XDocument.Load(@"veri.xml"); XElement node = x.Element("Ogrenciler").Elements("ogrenci").FirstOrDefault(a => a.Element("id").Value.Trim() == textBox1.Text); if (node != null) { node.SetElementValue("adi", textBox2.Text); node.SetElementValue("soyadi", textBox3.Text); node.SetElementValue("telefonu", textBox4.Text); x.Save(@"veri.xml"); yukle(); } } } } |
Video:
Projeyi buradan indirip inceleyebilirsiniz.
iyi günler
bunun link üzerinden kullanıcı adı ve parolayı girdikten sonra xml çekip mssql yazdırma işlem ilgili kodları paylaşa bilir misiniz.
Hocam acaba Sizin örnekte anlatmak istiyorum.
Telefon rakam değerini XML de ki Tüm Öğrencileri Değiştirmek mümkün mü. Açıkcası ben fiyatları %20 artırmak için böyle bir şey düşünüyorum. İnşallah Görür ve cevaplarsınız . Hayırlı Günler
Merhaba.
Rica etsem bu kodları Vb.net olarak hazırlayıp dosya olarak ekleseniz olmaz mı?
Teşekkürler.
Merhaba. Maalesef Vb.net kategorisi bulunmamaktadır.
mrb c# da datagrid de bulunan verileri bır XML dosyasına nasıl kaydedebılırım
Çok teşekkürler. Mükemmel bir makale olmuş
Eyvallah projeyi verdiğin için, sayende indirip deneme fırsatı bularak daha iyi anlamaya çalışıyorum.
xml den worda veri aktarma c# programı nasıl yapılır yardımcı olurmusunuz?