"XML Nedir?" Sorusunu Cevaplayalım
XML, interneti kullanarak veri alışverişi yapan sistemler ve platformlar arasındaki veri iletişimini standart hale getirmek için tasarlanan bir işaretleme dilidir.XML’in temel özellikleri
XML, HTML gibi hiyerarşik bir işaretleme dilidir. Ancak XML’de kullanılan etiketler, HTML’den farklı olarak kişiler tarafından belirlenir. İsimlendirme konusunda insiyatifi bize bırakan XML, diğer konularda katı ve kesin kurallara sahiptir.XML konusuna böyle bir giriş yaptıktan sonra bu konuyu anlatmak için kendimce bir XML dosyası oluşturdum. Üyelerin bilgilerinin tutulduğu bir xml dosyası (veritabanı).
XML Oluşturalım
String strDonen_Deger = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<kullanicilar>"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"1\" adi=\"Serkan\" soyadi=\"Togal\" yasi=\"30\" web_sitesi=\"http://www.ontedi.com\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"2\" adi=\"Ahmet\" soyadi=\"Çelebi\" yasi=\"20\" web_sitesi=\"http://www.google.com\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"7\" adi=\"Selçuk\" soyadi=\"Varol\" yasi=\"41\" web_sitesi=\"http://www.otekiturkiye.org\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"58\" adi=\"Şahin\" soyadi=\"Değişmez\" yasi=\"23\" web_sitesi=\"\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"4\" adi=\"Mustafa\" soyadi=\"Güzel\" yasi=\"61\" web_sitesi=\"\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "</kullanicilar>"; StreamWriter swYazici = File.CreateText(Server.MapPath("xml-veritabani.xml")); swYazici.WriteLine(strDonen_Deger); swYazici.Close(); swYazici.Dispose(); Response.Write("XML başarıyla oluşturdu");
Oluşturduğumuz XML Dosyası (xml-veritabani.xml)
<?xml version="1.0" encoding="utf-8" ?> <kullanicilar> <uye id="1" adi="Serkan" soyadi="Togal" yasi="30" web_sitesi="http://www.ontedi.com" /> <uye id="2" adi="Ahmet" soyadi="Çelebi" yasi="20" web_sitesi="http://www.google.com" /> <uye id="7" adi="Selçuk" soyadi="Varol" yasi="41" web_sitesi="http://www.otekiturkiye.org" /> <uye id="58" adi="Şahin" soyadi="Değişmez" yasi="23" web_sitesi="" /> <uye id="4" adi="Mustafa" soyadi="Güzel" yasi="61" web_sitesi="" /> </kullanicilar>Oluşan XML Dosyası
Oluşturduğumuz XML dosyası üzerinde işlemler yapalım
XML Dosyasını Baştan Sona Okuyalım
XmlDocument xdDokuman = new XmlDocument(); xdDokuman.Load(Server.MapPath("xml-veritabani.xml")); XmlNodeList xnlDugumler = xdDokuman.SelectNodes("kullanicilar/uye"); foreach (XmlNode xnDugum in xnlDugumler) { String strId = xnDugum.Attributes["id"].Value; String strAdi = xnDugum.Attributes["adi"].Value; String strSoyadi = xnDugum.Attributes["soyadi"].Value; String strYasi = xnDugum.Attributes["yasi"].Value; Response.Write("id = " + strId + " | Adı: " + strAdi + " | Soyadı: " + strSoyadi + " | Yaşı: " + strYasi + "Tüm Kayıtların Listesi
"); }
XML Dosyasının Belirli Bir Satırını Okuyalım (id=58 değerli üyenin bilgileri)
Belirli Satırı Okur (Kod)XmlTextReader xtrOkuyucu = new XmlTextReader(Server.MapPath("xml-veritabani.xml")); xtrOkuyucu.Read(); XmlDocument xdDokuman = new XmlDocument(); xdDokuman.Load(xtrOkuyucu); XmlNode xnDugum = xdDokuman.SelectSingleNode("/kullanicilar/uye[@id=58]"); String strId = xnDugum.Attributes["id"].Value; String strAdi = xnDugum.Attributes["adi"].Value; String strSoyadi = xnDugum.Attributes["soyadi"].Value; String strYasi = xnDugum.Attributes["yasi"].Value; Response.Write("id = " + strId + " | Adı: " + strAdi + " | Soyadı: " + strSoyadi + " | Yaşı: " + strYasi + "");Belirli Bir Kaydın Bilgileri
XML Dosyasının Belirli Bir Satırını Silelim (id=7 değerli üyeyi silelim)
Belirli Satırı Siler (Kod)XmlTextReader xtrOkuyucu = new XmlTextReader(Server.MapPath("xml-veritabani.xml")); xtrOkuyucu.Read(); XmlDocument xdDokuman = new XmlDocument(); xdDokuman.Load(xtrOkuyucu); XmlNode xnDugum = xdDokuman.SelectSingleNode("/kullanicilar/uye[@id=7]"); if (xnDugum == null) { Response.Write("Silinecek kayıt bulunamadı"); } else { xnDugum.ParentNode.RemoveChild(xnDugum); xtrOkuyucu.Close(); xdDokuman.Save(Server.MapPath("xml-veritabani.xml")); Response.Write("Kayıt başarıyla silindi"); }Belirli Bir Kaydı Silme
Kısaca XML üzerinde manüplasyonları örneklerle aktarmaya çalıştık, bir başka makalede görüşmek dileğiyle.