C#

C# XML İçeriğini Datagridview’e Aktarma

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde xml dosyasındaki verileri datagridviewe aktarmayı anlatacağım. Hadi başlayalım !
Öncelikle Visual Studio aracılığıyla bir tane Windows Forms projesi oluşturalım. Datagridview kullanacağımız için ne yazık ki console projelerinde bu işi yapamayacağız, dolayısıyla Windows Forms projesi oluşturuyoruz.
Ardından forma bir tane DatagridView ekleyelim ve xml dosyasından DatagridView’e aktarma yapacağımız yerin kodlarına geçelim. Örneğin ben formun Load eventinde yapacağım.

Öncelikle Xml’i doğrudan DatagridView’e aktaramıyoruz fakat Xml’i DataSet nesnesine aktarıp ordan da DatagridView’e aktarabiliyoruz. İşte bizde tam olarak böyle yapacağız.
Öncelikle bir tane DataSet nesnesi oluşturalım;

DataSet ds = new DataSet();
Şimdi gelelim Xml’i DataSet’e aktarmaya.
Ben bu yazımda Xml verisini dosyadan okumayı anlatacağım. Elimizde olan bir xml verisini DataSet’e aktarmayı bir başka yazımda anlatırım artık 🙂
Dosyadan xml okumak için, System.Xml kütüphanesi altında bulunan XmlReader sınıfını kullanacağız ve bu sınıfı kullanabilmek için yeni bir nesnesini türetmemiz gerekiyor.
Constructor metoda ise string tipte Xml dosyasının yolunu parametre olarak göndermemiz gerekiyor ve ben masaüstünde bulunan deneme.xml dosyası üzerinden gideceğim. Hadi bi tane XmlReader nesnesi türetelim;
XmlReader reader = new XmlReader("c:/users/kullanici/Desktop/deneme.xml");
Evet artık az önce oluşturduğumuz DataSet nesnesine XmlReader nesnesi üzerinde bulunan Xml verisini aktarabiliriz.
ds.ReadXml(reader);
Ve artık geldik işin en kolay tarafına, yani DataSet’ten DatagridView’e veri aktarmaya 🙂

DataSet, aslında bir nevi DataTable listesi tutan bir sınıf, yani içerisinde birden fazla DataTable bulunuyor biz istediğimiz bir tanesine ulaşabiliyoruz.
Biz az önce XmlReader sınıfını kullanarak Xml okuyup DataSet nesnesi üzerine yüklemiştik ya, orada DataSet içerisinde yeni bir DataTable (DataSet içindeki adıyla Table) oluşturuluyor ve içerisine yükleniyor.
DatagridView içerisine DataSet’ten veri aktarmak içinde DataSet nesnesinin Tables özelliğini kullanacağız ve bu Tables nesnesi az öncede dediğim gibi bir liste ve istediğimiz bir tanesine index numarasını vererek ulaşabiliyoruz. E hadi o zaman lafı daha fazla uzatmayalım ve DataSet içerisinden DatagridView’e verileri aktaralım gitsin 🙂

dataGridView1.DataSource = ds.Tables[0];
Son olarak Xml dosyasını okumak için kullandığımız XmlReader nesnesini kapatıp Xml dosyasını serbest bırakalım ve tamponu boşaltalım.
reader.Close();
Eveett artık Xml dosyasından DatagridView’e veri aktarımını başarıyla yapmış bulunmaktayız.

Bu dersimizde bu kadardı, yazdığımız tüm kodları daha toplu olması için aşağıya bırakıyorum;

DataSet ds = new DataSet();
XmlReader reader = new XmlReader("c:/users/kullanici/Desktop/deneme.xml");
ds.ReadXml(reader);
dataGridView1.DataSource = ds.Tables[0];
reader.Close();

Tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 2 Ortalama: 5]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu