XML ile Telefon Defteri Yapalım !!

Merhaba arkadaşlar bir önceki yazımızda XML nedir nasıl kullanılır ile alakalı bilgi vermiştik.Bu yazımızda sizlerle C# ile Xml ortak yapımı bir proje yapacağız. Bu web projemizde Xml dosyasını bir database gibi kullanarak kayıt yapacağız, kayıt okuyup, sileceğiz.

Öncelikle resimdeki gibi  4 TextBox , 4 buton, 1 Listbox dan oluşan formu tasarlıyoruz.

Bu formu tasarladıktan sonra projemizle birlikte kullanacağımız Xml dosyamızı yaratarak içersindeki düğümleri oluşturmamız gerekiyor.

Bu xml dosyası bizim veritabanımız olacak.

Genel hazırlıkları tamamladıktan sonra kodlama kısmına geçelim. İlk olarak bilmemiz gereken bir nesnemiz var  XMLDocument  nesnesi bu nesne xml dosyasını  önbellek üzerinde çalışılabilir hale getirerek işimizi kolaylaştırır.Önce bu nesneyi global seviyede tanımlayarak başlayalım.

XmlDocument xmlDoc;

Bu nesneden sonra yine tüm proje içersinde kullanabilecek bir değişken olan xml dosya yolunu tutacağımız bir string değişken tanımlayarak sayfanın yüklenmesi sırasında bu yolu değişkene atamalıyız.

dosya = Server.MapPath(“Telefon.xml”);

Dosya değişkenine yolu atadıktan sonra XML dosyamız üzerindeki kayıtları okuyarak Listbox nesnemiz üzerine yazdıracak bir metot yazalım.

void TelefonlariYukle(){ListBox1.Items.Clear();

XPathDocument xp = new XPathDocument(dosya);

XPathNavigator xn = xp.CreateNavigator();

string sorgu = “Kisiler/Kisi/Ad”;

XPathNodeIterator ni = xn.Select(sorgu);

while (ni.MoveNext())

{

ListBox1.Items.Add(ni.Current.ToString());

}

}

XPathDocument : Xpath data modeli kullanılan okuma yöntemlerinde Xml dosyalarından daha hızlı okuma sağlar.

XPathNavigator : Verilerin üzerinde bir izleme oluşturur ve XML belgesi içinde bu izlenecek olanları görüntüler.

XPathNoteIterator:Seçilen düğümler üzerinde bir yineleme sağlar.

Bu işlemi yaptıktan sonra listbox nesnesi üzerine Xml dosyası üzerindeki Ad düğümüne yazılmış kayıtlar tek tek gelecektir.

Bu kadar değil devam edecek 😉

Bilgiyle Kalın…

M.Zeki Osmancık

One Response to “XML ile Telefon Defteri Yapalım !!”

Leave a Reply

Please type the characters of this captcha image in the input box

Please type the characters of this captcha image in the input box