C# XML Veri Çekme, Ekleme, Güncelleme, Silme

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.

x1

veri.xml” dosyamızı aşağıdaki şekilde oluşturup projemizde bulunan ../debug/bin klasörü altına kopyalıyoruz.

xml_2

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.

using System.Xml; using System.Xml.Linq;
1234 using System.Xml;using System.Xml.Linq;

eklemeyi unutmayalım.

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(); } } } }
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 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; namespacexml_datagridview_aktar{publicpartial classForm1:Form{publicForm1(){InitializeComponent();} voidyukle(){XmlDocumenti=newXmlDocument();DataSet ds=newDataSet();//xml dosyamızı okumak için bir reader oluşturuyoruz.XmlReader xmlFile;xmlFile=XmlReader.Create(@"veri.xml",newXmlReaderSettings());//içeriği Dataset e aktarıyoruz.ds.ReadXml(xmlFile);//datagridviewin kaynağı olarak dataseti gösteriyoruz.dataGridView1.DataSource=ds.Tables[0];xmlFile.Close();}privatevoidForm1_Load(objectsender,EventArgse){yukle(); }privatevoidbutton1_Click(objectsender,EventArgse){XDocumentx=XDocument.Load(@"veri.xml"); x.Element("Ogrenciler").Add(newXElement("ogrenci",newXElement("id",textBox1.Text),newXElement("adi",textBox2.Text),newXElement("soyadi",textBox3.Text),newXElement("telefonu",textBox4.Text))); x.Save(@"veri.xml");yukle();} privatevoidbutton2_Click(objectsender,EventArgse){XDocumentx=XDocument.Load(@"veri.xml"); //ürün id= textbox'a girilen numaralı öğrenciyi silx.Root.Elements().Where(a=>a.Element("id").Value==textBox1.Text).Remove();x.Save(@"veri.xml");yukle();} privatevoidbutton3_Click(objectsender,EventArgse){XDocumentx=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.

Bunu paylaş:

  • X
  • Facebook

Từ khóa » Html Ile Xml Den Veri çekme