Yaptığınız çalışmalarda farklı dosya tipleri ile çalışma ihtiyacı doğmaktadır. Bu dosya tiplerinden biri de XML’dir. Bu makalemizde XML okuma, oluşturma, silme işlemlerine örneklerle değinmeye çalışacağız.
“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şturur
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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=\"Ali\" soyadi=\"Al\" yasi=\"30\" web_sitesi=\"http://www.site.com\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"2\" adi=\"Ahmet\" soyadi=\"Ver\" yasi=\"20\" web_sitesi=\"http://www.google.com\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"7\" adi=\"Yusuf\" soyadi=\"Bak\" yasi=\"41\" web_sitesi=\"http://www.site.org\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"58\" adi=\"Neriman\" soyadi=\"Dur\" yasi=\"23\" web_sitesi=\"\" />"; strDonen_Deger += Environment.NewLine; strDonen_Deger += "<uye id=\"4\" adi=\"Mustafa\" soyadi=\"Git\" 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"); |
1 2 3 4 5 6 7 8 9 10 | <?xml version="1.0" encoding="utf-8" ?> <kullanicilar> <uye id="1" adi="Ali" soyadi="Al" yasi="30" web_sitesi="http://www.site.com" /> <uye id="2" adi="Ahmet" soyadi="Ver" yasi="20" web_sitesi="http://www.google.com" /> <uye id="7" adi="Yusuf" soyadi="Bak" yasi="41" web_sitesi="http://www.site.org" /> <uye id="58" adi="Nerman" soyadi="Dur" yasi="23" web_sitesi="" /> <uye id="4" adi="Mustafa" soyadi="Git" yasi="61" web_sitesi="" /> </kullanicilar> |
XML Dosyasını Baştan Sona Okuyalım
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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 + " "); } |
XML Dosyasının Belirli Bir Satırını Okuyalım (id=58 değerli üyenin bilgileri)
1 2 3 4 5 6 7 8 9 10 11 12 | 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 + ""); |
XML Dosyasının Belirli Bir Satırını Silelim (id=7 değerli üyeyi silelim)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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"); } |
Yorum Yap