C# XML Dosyasında Nasıl Arama Yapılır?, dersim ile C# XML Üzerine İşlemler ders serimize devam ediyorum. Bu derste, bir xml dosyasındaki veriler içerisinde arama yapmayı göreceğiz.
C# XML Dosyasında Nasıl Arama Yapılır?
Bu dersimizde xml dosya içerisinde arama yapacağız. Şimdi bu işlemi yapacak kodlarımızı görelim.
private void Btn_xml_de_ara_Click(object sender, EventArgs e) { XmlReader xmlFile; xmlFile = XmlReader.Create(_000_Classlar.Global.AppPath + "\\_023_XML_Islemleri\\XML\\Proje.xml", new XmlReaderSettings()); DataSet ds = new DataSet(); DataView dv; ds.ReadXml(xmlFile); dv = new DataView(ds.Tables[0]); dv.Sort = "Proje_Adı"; int index = dv.Find(txt_aranacak_metin.Text); if (index == -1) { lbl_sonuc.Text = "Sonuç: Bulunamadı."; } else { lbl_sonuc.Text = "Sonuç: Adı: " + dv[index]["Proje_Adı"].ToString() + " || Fiyatı:" + dv[index]["proje_Ucreti"].ToString(); } }
Şimdi kodlarımızı açıklayalım;
- XmlReader türünde bir değişken tanımlıyoruz.
- XmlReader sınıfının Create metodu ile xml dosyamızı okuyoruz.
- DataSet tanımlaması yapıyoruz.
- DataView tanımlaması yapıyoruz.
- Tanımladığımız DataSet’e okuduğumuz xml dosyasını atıyoruz.
- Tanımladığımız DataView’e, DataSet’e yüklediğimiz verilerden bir View alıyoruz.
- DataView’in Sort() metodu ile verilerimizi Proje_Adı elementine (Kolonuna ) göre sıralıyoruz.
- Bir int değişken tanımlayarak DataView’in Find() metodunu kullanıyoruz.
- Find() Metodumuza forma eklediğimiz ve arayacağımız metni yazacağımız textbox’ın text’ini gönderiyoruz.
- Eğer index -1 ise hiç kayıt bulunamamıştır. Çünkü index hiçbir zaman -1 olmaz.
- Eğer index -1 değil ise bir kayıt bulunmuştur .
- Else bloğundaki işlemler ise lbl_sonuc’a bulunan projenin adını ve fiyatını yazıyoruz.
XML Dosyamızın içeriği;
<?xml version="1.0" standalone="yes"?> <Projeler> <Proje> <Proje_ID>1</Proje_ID> <Proje_Adı>Proje 1</Proje_Adı> <proje_Ucreti>1111</proje_Ucreti> </Proje> <Proje> <Proje_ID>2</Proje_ID> <Proje_Adı>Proje 2</Proje_Adı> <proje_Ucreti>2222</proje_Ucreti> </Proje> <Proje> <Proje_ID>3</Proje_ID> <Proje_Adı>Proje 3</Proje_Adı> <proje_Ucreti>3333</proje_Ucreti> </Proje> <Proje> <Proje_ID>4</Proje_ID> <Proje_Adı>Proje 4</Proje_Adı> <proje_Ucreti>4444</proje_Ucreti> </Proje> <Proje> <Proje_ID>5</Proje_ID> <Proje_Adı>deneme</Proje_Adı> <proje_Ucreti>5000</proje_Ucreti> </Proje> <Proje> <Proje_ID>6</Proje_ID> <Proje_Adı>deneme 2</Proje_Adı> <proje_Ucreti>5000</proje_Ucreti> </Proje> </Projeler>
Ekran görüntüsü;
NOT: Bu dersi Github Projemde bulabilirsiniz.
**********************************************************
C# XML Üzerine İşlemler
Şuanki planıma göre toplamda 17 yazılık bir seri olacak. Genel başlıklar ise aşağıdaki gibi olacak. Elbette liste değişebilir. Belki bazılarından vazgeçerim belki dersleri birleştiririm belli olmaz.
- √ – XML Nedir? Kullanımı, Temel Özellikleri ve Örneği
- √ – XML Oluşturma
- √ – XML Verileri Gridde Gösterme
- √ – XML Veri Ekleme
- √ – XML Veri Güncelleme
- √ – XML Veri Silme
- √ – XML İşlemleri Class Hazırlama
- √ – XML URL’den Okuma
- Bu ders için ek bir ders açmamaya karar verdim. file_path değişkenine xml url si yazmanız yeterli olacaktır.
- √ – DataSet ile XML Dosyası Nasıl Oluşturulur
- √ – XML Dosyası ile DataSet Nasıl Oluşturulur ve Okunur?
- √ – SQL’den bir XML dosyası nasıl oluşturulur
- Bu ders içinde ek bir ders açmamaya karar verdim. SQL server bağlantısı yapıp bir select sorgusunu dataset’e atamasını yaptıktan sonra 9. maddedeki işlemleri uygulayabilirsiniz.
- √ – XML dosyasında nasıl arama yapılır?
- √ – Bir XML dosyasında filtreleme
- √ – XML’den veritabanına veri nasıl eklenir
- Bu ders içinde ek bir ders açmamaya karar verdim. DataSet’e eklediğimiz verileri for döngüsü ile sql’e kaydet işlemi yapıyoruz sadece. Bu sebeple ek ders eklemeye gerek yok arkadaşlar.
- √ – XML’den Excel dosyası nasıl oluşturulur
- Bu dersi hazırlarken kodlarda bir sorun yaşadım ve o sorunu çözemedim. Bu sebeple bu dersi iptal ediyorum arkadaşlar. Elbette bu kodlar çok önceden elimde vardı. büyük ihtimalle bu sebeple çalışmadılar.
- √ – Excel’den XML dosyası nasıl oluşturulur
- √ – XML dosyasından bir TreeView nasıl oluşturulur
Hatta bu listeyi, bu serideki her yazının altına eklerim.
**********************************************************
Bu dersimizde bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere…
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…
Takipte ve Sağlıcakla kalın.