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.