Aradığınız konuyu buradan bulabilirsiniz.
Hoşgeldiniz.Burada arama yapabilirsiniz.
Aramak istediğiniz kelimeyi giriniz...
C# ile ilgili kaynaklar
C# Konuları
SQL ile ilgili kaynaklar
SQL Konuları
ASP.NET ile ilgili kaynaklar
ASP.Net Konuları
Makale Başlığı Xml üzerinden XmlNode işlemleri
1000

            Xml dosyalarıyla işlem yaparken en bilinen yol XML dosyasını bir dataset içerisine atarak kolay bir şekilde işlem yapmaktır. Ancak bu işlem için XML dosyasının Patch ini bilmemiz gerek. Eğer sabit bir xml dosyamız yoksa; örneğin bir web servisinden XML dönüyorsa dataset içerisine atamıyoruz. Hal böyle olunca Xmli ayrıştırarak işlemlerimizi yapmamız gerekiyor. XML dosyasını ayrıştırırken kullanılan en iyi yol XPatch ifadelerinin kullanılması ve SelectNodes metodudur.

           SelectNodes metodunu kullanarak işlem yaptığımızda, metoda verdiğimiz XPath ifadesine uygun olan Node nesnelerini XML dosyası içerisinden bir liste halinde çekebiliriz.İlk olarak aşağıdaki gibi bir Xml dosyamızın olduğunu varsayalım.

XML Dosyamızın içeriği:

<Urunler>

  <Urun>

    <Markasi>Nokia</Markasi>

    <Modeli>5310</Modeli>

  </Urun>

    <Urun>

    <Markasi>Samsung</Markasi>

    <Modeli>E 250</Modeli>

  </Urun>

  <Urun>

    <Markasi>Nokia</Markasi>

    <Modeli>5310</Modeli>

  </Urun>

</Urunler>


Yukarıdaki XML dosyasından tüm ürünleri bir Node Listesi içerisinde toplamak için /Urunler/urun Xpatch ifadesini kullanıyoruz. Burada yazdığımız /Urunler kısmı ise bu Node’ in içerisinde ara manasına geliyor.

Şimdi ilk önce bir XmlDocument oluşturup; içerisine Xml imizi atalım.Daha sonra bu XmlDocument dosyasından SelectNodes metodunu kullanarak döküman içerisindeki Urun Nodelerini bir XmlNodeList listesine atalım. Artık oluşturduğumuz XmlNodeList listesini dönerek yakalamak istediğimiz değerin Node içerisindeki adını yazarak innerText değerini alabiliriz.Aşağıdaki örneği inceleyerek daha detaylı bir şekilde anlayabilirsiniz.
Metod:

public void XmlOku()

    {

        UrunlerWebServisi servis = new UrunlerWebServisi();

        XmlElement urunler = servis.UrunGetir();

       

        XmlDocument xml = new XmlDocument();

        xml.LoadXml(urunler.OuterXml);

 

        List<string> xmldenGelenUrunler= new List<string>();

 

        XmlNodeList xnList = xml.SelectNodes("/Urunler/Urun");

        foreach (XmlNode node in xnList)

        {

            string urunMarkasi = node["Markasi"].InnerText;

            string urunModeli = node["Modeli"].InnerText;

 

            xmldenGelenUrunler.Add(urunMarkasi + "-" + urunModeli);

            //seçtiğim ürünleri string bir liste içerisine atıyorum.

        }

    }

Kategori C#
Eklenme Zamanı 12.8.10 12:26:18
Okunma Sayısı 1695 kez görüntülenmiş
Bu konuya yapılan yorum sayısı 1 adet yorum eklenmiş
Yorum Engin ÇELİK
Yorum Yapılma Zamanı 20.2.12 11:29:25
Harika Bir Paylaşım.. Elinize Sağlık. Son Derece Anlaşılır.
Düşüncelerinizi Yazın Bu yazı hakkında ne düşünüyorsunuz?
Ad - Soyad: 
E-Mail Adres:    
Web Sitesi:
Yorumunuz:  
Paylaş