İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# DataSet ile XML Dosyası Nasıl Oluşturulur?

C# DataSet ile XML Dosyası Nasıl Oluşturulur?
+ - 0

C# DataSet ile XML Dosyası Nasıl Oluşturulur? , dersim ile C# XML Üzerine İşlemler ders serimize devam ediyorum. Bu dersimizde elimizdeki dataset ile bir xml dosyasını nasıl oluşturacığımızı göreceğiz.

C# DataSet ile XML Dosyası Nasıl Oluşturulur?

XML , etiket tabanlı bir dildir; bu, belgenin bilgi içeren XML etiketlerinden oluştuğunu gösterir. Birkaç şekilde bir XML dosyası oluşturabiliriz.

Burada bir ADO.NET Dataset kullanarak,  Product.XML adında bir XML dosyası oluşturuyoruz. Bunu oluşturmak için önce manuel olarak bir Datatable oluşturmalı ve Proje.XML verilerini Datatable içine eklemeliyiz. Sonra DataTable’yi bir DataSet içerisine ekleyeceğiz. Son olarak da DataSet’in WriteXml yöntemini kullanarak Proje.XML dosya adını parametre olarak vereceğiz.

Öncelikle bir DataSet oluşturalım. Burada SQL bağlantısı yapmayacağımız için DataSet’i manuel olarak oluşturacağız ve WriteXML yöntemi ile dosyayı oluşturacağız.

 

        #region C# DataSet ile XML Dosyası Nasıl Oluşturulur?
        DataTable dt;
        private void Btn_dataset_ile_olustur_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            ds.DataSetName = "Projeler";

            dt = new DataTable();
            dt.Columns.Add(new DataColumn("Proje_ID", Type.GetType("System.Int32")));
            dt.Columns.Add(new DataColumn("Proje_Adı", Type.GetType("System.String")));
            dt.Columns.Add(new DataColumn("proje_Ucreti", Type.GetType("System.Int32")));

            fillRows(1, "Proje 1", 1111);
            fillRows(2, "Proje 2", 2222);
            fillRows(3, "Proje 3", 3333);
            fillRows(4, "Proje 4", 4444);
            ds.Tables.Add(dt);
            ds.Tables[0].TableName = "Proje";
            ds.WriteXml(_000_Classlar.Global.AppPath + "\\XML\\Proje.xml");

            MessageBox.Show("Tamamdır");
        }
        private void fillRows(int pID, string pName, int pPrice)
        {
            DataRow dr;
            dr = dt.NewRow();
            dr["Proje_ID"] = pID;
            dr["Proje_Adı"] = pName;
            dr["proje_Ucreti"] = pPrice;
            dt.Rows.Add(dr);
        }
        #endregion

 

Yukarıdaki kodlarımızı açıklamak gerekirse;

  1. İlk olarak dış tarafta bir DataTable tanımlası yapıyoruz.
  2. Sonrasında forma attığımız bir butonun click eventi içinde ilk olarak bir DataSet tanımlıyoruz.
  3. Tanımladığımız DataSet’e bir isim veriyoruz. Bu isim XML dosyamızda ROOT yani KÖK ELEMENT olacak.
  4. Yeni bir DataTable tanımlaması yapıyoruz.
  5. DataTable’mize 3 yeni kolon eklemesi yapıyoruz. Bu kolonlar, Proje_ID, Proje_Adı, proje_Ucreti ‘dir. Bu isimler Ana elementlerimizin içindeki verileri tutan elementlerdir.
  6. fillRows metodumuz ile DataTable’mize 4 yeni satır ekliyoruz.
  7. DataTable’mizi DataSet’imize ekliyoruz.
  8. DataSet’e eklediğimiz tabloya isim veriyoruz. Burada verdiğimiz isim XML dosyamızdaki ana elementlerimizin ismidir.
  9. Son olarak DataSet’in WriteXML metodu ile verdiğimiz yolda Proje.XML adında bir dosya oluşturup verilerimizi içerisine yazacak.

Burada oluşturularn XML dosyasının içeriğine bir bakalım.

<?xml version="1.0" standalone="yes"?>
<Projeler>
  <Proje>
    <Proje_ID>1</Proje_ID>
    <Proje_Adı>Proje 1</Proje_Adı>
    <proje_Ucreti>1111</proje_Ucreti>
  </Proje>
  <Proje>
    <Proje_ID>2</Proje_ID>
    <Proje_Adı>Proje 2</Proje_Adı>
    <proje_Ucreti>2222</proje_Ucreti>
  </Proje>
  <Proje>
    <Proje_ID>3</Proje_ID>
    <Proje_Adı>Proje 3</Proje_Adı>
    <proje_Ucreti>3333</proje_Ucreti>
  </Proje>
  <Proje>
    <Proje_ID>4</Proje_ID>
    <Proje_Adı>Proje 4</Proje_Adı>
    <proje_Ucreti>4444</proje_Ucreti>
  </Proje>
</Projeler>

NOT: Bu dersi Github Projemde bulabilirsiniz.

**********************************************************

C# XML Üzerine İşlemler

Şuanki planıma göre toplamda 17 yazılık bir seri olacak. Genel başlıklar ise aşağıdaki gibi olacak. Elbette liste değişebilir. Belki bazılarından vazgeçerim belki dersleri birleştiririm belli olmaz.

  1. √ – XML Nedir? Kullanımı, Temel Özellikleri ve Örneği
  2. √ – XML Oluşturma
  3. √ – XML Verileri Gridde Gösterme
  4. √ – XML Veri Ekleme
  5. √ – XML Veri Güncelleme
  6. √ – XML Veri Silme
  7. √ – XML İşlemleri Class Hazırlama
  8. √ – XML URL’den Okuma
    • Bu ders için ek bir ders açmamaya karar verdim.  file_path değişkenine xml url si yazmanız yeterli olacaktır.
  9. √ – DataSet ile XML Dosyası Nasıl Oluşturulur
  10. √ – XML Dosyası ile DataSet Nasıl Oluşturulur ve Okunur?
  11. √ – SQL’den bir XML dosyası nasıl oluşturulur
    • Bu ders içinde ek bir ders açmamaya karar verdim. SQL server bağlantısı yapıp bir select sorgusunu dataset’e atamasını yaptıktan sonra 9. maddedeki işlemleri uygulayabilirsiniz.
  12. √ – XML dosyasında nasıl arama yapılır?
  13. √ – Bir XML dosyasında filtreleme
  14. √ – XML’den veritabanına veri nasıl eklenir
    • Bu ders içinde ek bir ders açmamaya karar verdim. DataSet’e eklediğimiz verileri for döngüsü ile sql’e kaydet işlemi yapıyoruz sadece. Bu sebeple ek ders eklemeye gerek yok arkadaşlar.
  15. √ – XML’den Excel dosyası nasıl oluşturulur
    • Bu dersi hazırlarken kodlarda bir sorun yaşadım ve o sorunu çözemedim. Bu sebeple bu dersi iptal ediyorum arkadaşlar. Elbette bu kodlar çok önceden elimde vardı. büyük ihtimalle bu sebeple çalışmadılar.
  16. √ – Excel’den XML dosyası nasıl oluşturulur
  17. √ – XML dosyasından bir TreeView nasıl oluşturulur

Hatta bu listeyi, bu serideki her yazının altına eklerim.

**********************************************************

C# DataSet ile XML Dosyası Nasıl Oluşturulur? dersimizde bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere…

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Takipte ve Sağlıcakla kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)