Csharp Xml Dosyası Oluşturma

Posted by

Merhaba arkadaşlar, bu yazımda sizlere Csharp Xml Dosyası oluşturma işleminden ve xml dosyasına nasıl veri yazılır ondan bahsetmeye çalışacağım.

Öncelikle Xml’in özelliklerinden bahsedecek olursak;

HTML gibi hiyerarşik bir işaretleme dilinden oluşur. Xml’in HTML’den farklı olarak burada kullanılan etiketler kişiler tarafından oluşturulur ve isimlendirilir.

Xml’de de kullanılan etiketler mutlaka kapatılmalıdır. Kullanılan etiketlere özellikler atanabilir.

Şimdi gelelim bizim oluşturacağımız Xml dosyasına;

<?xml version=”1.0″ encoding=”utf-8″?>
<Musteriler>
<Musteri ID=”1″>
<isim>Alican</isim>
<soyisim>çevik</soyisim>
</Musteri>
</Musteriler>

Görüldüğü gibi bizim oluşturduğumuz Xml dosya yapısı bu şekildedir. Müşteriler adındaki Xml dosyamız genel bir Musteriler etiketinden oluşur ve bu genel etiketin altında müşterilere ait alanlar bulunur. Örneğin 1 ID li müşterinin İsmi Alican, Soyismi Çevik olarak girilmiştir. Bir müşteri Daha eklemek istersek tekrar bir Musteri etiketi açmamız gerekiyor.

<?xml version=”1.0″ encoding=”utf-8″?>
<Musteriler>
<Musteri ID=”1″>
<isim>Alican</isim>
<soyisim>çevik</soyisim>
</Musteri>
<Musteri ID=”2″>
<isim> Medet </isim>
<soyisim> Başer </soyisim>
</Musteri>
</Musteriler>

Görüldüğü gibi bu şekilde diğer Müşterimizi de eklemiş olduk. Şimdi gelelim bunu C# ile nasıl oluşturabiliriz?

Aşağıdaki örnek kod ile Xml dosyası oluşturma işlemini gerçekleştirebiliriz.


string xmlPath = Application.StartupPath + "\\Customers.xml";

XmlTextWriter customer = new XmlTextWriter(xmlPath, UTF8Encoding.UTF8);

customer.Formatting = Formatting.Indented;

customer.WriteStartDocument();

customer.WriteStartElement("Musteriler");

customer.WriteStartElement("Musteri");

customer.WriteAttributeString("ID", "1");

customer.WriteElementString("isim", txtName.Text);

customer.WriteElementString("soyisim", txtSurname.Text);

customer.WriteEndElement();

customer.WriteEndElement();

customer.Close();

Yukarıdaki işlemlerden kısaca bahsetmek istiyorum.

Öncelikle bir string değişkenimize Xml dosyamızı oluşturacağımız adresi atadık.

Burada ben programın çalıştığı yere yani .exe dosyasının bulunduğu adrese oluşturma işlemini gerçekleştiriyorum.

Sonrasında customer isminde XmlTextWriter nesnemizi oluşturuyoruz ve buna oluşturduğumuz xmlPath adlı değişkenimizi veriyoruz ve formatını da UTF-8 olarak ayarlıyoruz.

customer.Formatting=Formatting.Indented
 ile Xml dosyamızın düzgün ve düzgün gözükmesi için alt alta formatlı bir şekilde ayarlıyoruz.

WriteStartDocument() metodu ile dosyamızı oluşturuyoruz ve WriteStartElement() metodu ile de genel etiketimiz olan Musteriler
etiketini oluşturuyoruz.

Musteriler etiketinin içine Musteri etiketimizi ekliyoruz.

WriteAttributeString() metodu ile de Musteri etiketimize ID özelliği ekliyoruz, değerini 1 olarak atadık bu kısımda…

Sonrasında tekrar bir etiket oluşturuyoruz. Bu etiketin adını isim olarak belirliyoruz ve değerini İsim adlı Textbox’tan alıyoruz.

Aynı şekilde soy isim içinde bu işlemi ilgili Textbox’tan alıyoruz ve oluşturuyoruz.

WriteEndElement() metodları ile de açtığımız etiketleri kapatma işlemini gerçekleştiriyoruz.

Son olarak oluşturduğumuz customer nesnemizi işlem bittiği için Close() metodu ile kapatıyoruz.

Bu işlemlerden sonra Xml Dosyamız belirlediğimiz yerde oluşturulma işlemi gerçekleşmiş oluyor.

Xml oluşturma işlemi bu şekilde gerçekleştirilebilir.

Faydalı olmuştur umarım.

Bir sonraki yazıda görüşmek üzere 🙂

Leave a Reply

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