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ı.");