Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

C Sharp İle XML Dosyası Oluşturmak

Bu yazımda C# kodlarıyla XML dosyası oluşturmayı göreceğiz.


Aşağıdaki örnekte veritabanı olarak Northwind kullanıyorum.
Personeller tablosunun XML dosyasını kodlarla oluşturalım.

            SqlConnection baglanti = new SqlConnection("Server=GENÇAY-GENÇAY;Database=Northwind;Trusted_Connection=True;");
            SqlCommand cmd = new SqlCommand("Select * from Personeller",baglanti);
            baglanti.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            XmlTextWriter XMLDosyasi = new XmlTextWriter("Personeller.xml",Encoding.GetEncoding(1254));
            //XmlTextWriter nesnesi ile "Personeller.xml" adındaki XML dosyasının nereye olusturulacağını belirledik.
            //Encoding.GetEncoding(1254) = Türkçe karakter dil koduna göre XML dosyasını encode etmesini söyledik.
            XMLDosyasi.Formatting = Formatting.Indented;
            //Formatting özelliği, XML nodelarının girintili yazılacağını belirtir.
            XMLDosyasi.WriteStartDocument();
            //XML dosyasına yazılmasına başlayacağını bildirdik.
            XMLDosyasi.WriteComment("Burada personellerimiz listelenmektedir.");
            //Bu metod ile XML dosyamıza yorum(Comment) eklenmesi sağlanır.
            //Bundan sonra elemanları yazdırmaya başlayalım...
            XMLDosyasi.WriteStartElement("Personeller");
            //Bu metod ile XML dosyasının root elemanı belirleniyor.
            while (dr.Read())
            {
                XMLDosyasi.WriteStartElement("Personel");
                //WriteStartElement() metodu ile yazılan ilk eleman root eleman olur.Daha sonrakiler root un içindeki ana nodelar olur.
                XMLDosyasi.WriteAttributeString("No", dr["PersonelID"].ToString());
                //WriteAttributeString() metodu ile herhangi bir node a Attribute yazılabilir.
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    XMLDosyasi.WriteElementString(dr.GetName(i), dr[i].ToString());
                    //Node ları getirtiyoruz.
                }
                XMLDosyasi.WriteEndElement();
                //Oluşturulan ana node kapatılıyor.
            }
            XMLDosyasi.WriteEndElement();
            //Root eleman kapatılıyor.
            XMLDosyasi.WriteEndDocument();
            //XML sayfasının yazma işlevi bitti.
            XMLDosyasi.Close();
            baglanti.Close();
            MessageBox.Show("İşlem Tamamlandı.");

Sonuç olarak,
İyi çalışmalar 🙂

Bunlar da hoşunuza gidebilir...

1 Cevap

  1. Serdar dedi ki:

    Çok güzel bir örnek elinize sağlık.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir