C#’ta XML Kullanımı Google'da Ara Büyüt Küçült

Genişlet
02 Mart 2010 – 21:00

XML veri paylaşımının etkin olduğu sitelerde kullanılan basit veri paylaşım yöntemidir.Daha basitleştirilerek anlatmak gerekirse haber sitelerinin yayınlarını XML formatında yaparak diğer sitelerdede bu haberlerin kullanılmasını sağlaması gibi.

Şimdi gelelim C#’ta XML’i nasıl kullanıcağımıza öncelikle XML dosyamızı programın çalıştığı dizinle aynı dizine koyalım(farklı yerede olabilir dosya yolu belirtmemek için örnek verdim).Daha sonra programa XML için kullanıcağımız kütüphaneyi tanımlayalım.

1
using System.Xml;

Kütüphanemizi tanımladıktan sonra

1
2
3
XmlDocument myDoc = new XmlDocument();
XmlElement myElement;
myDoc.Load(@"ornek.xml");

örneğimizi yukarıdaki şekilde load ederiz.XML’de temel olarak bilinmesi gereken child kavramıdır.XML hiyerarşik yapı üzerine kuruludur.Dosyamızı açtıktan sonra

1
for (int i = 0; i < myDoc.ChildNodes.Count; i++)

yukarıdaki döngüyle XML’in child sayısını öğrenebilir ve içeriğini tarayabiliriz.Örneğimize geçersek

1
2
3
4
5
6
7
8
9
10
11
12
  <?xml version="1.0" encoding="ISO-8859-9" ?>
  <kitaplar>
  <kategori KatAdi="Bilgisayar">
  <kitap Adi="Kim Korkar C#'dan" Yayinci="Alfa Yayinlari" Fiyat="5" />
  <kitap Adi="Herkes için SQL" Yayinci="Beta Yayinlari" Fiyat="13" />
  </kategori>
  <kategori KatAdi="Saglik">
  <kitap Adi="Sifali Bitkiler" Yayinci="Remzi Kitabevi" Fiyat="12" />
  <kitap Adi="YOU" Yayinci="Sabah Yayinlari" Fiyat="11" />
  <kitap Adi="sagliğiniz" Yayinci="YKB Yayinlari" Fiyat="3" />
  </kategori>
  </kitaplar>

şeklinde örneğimiz olsun.Buradan “Kim Korkar C#’dan” verisine ulaşmak istersek

1
MessageBox.Show(myDoc.ChildNodes[1].ChildNodes[0].ChildNodes[0].Attributes[0].Value.ToString());

Yukarıdaki kod bloğunu kullanabiliriz.Açıklamak gerekirse;

1
2
3
4
myDoc.ChildNodes[1] // kitapları seçicektir
myDoc.ChildNodes[1].ChildNodes[0] // <kategori KatAdi="Bilgisayar"> child 'ini seçecektir
myDoc.ChildNodes[1].ChildNodes[0].ChildNodes[0] // <kitap Adi="Kim Korkar C#'dan" Yayinci="Alfa Yayinlari" Fiyat="5" /> child 'ini seçecektir
myDoc.ChildNodes[1].ChildNodes[0].ChildNodes[0].Attributes[0] // Adi="Kim Korkar C#'dan" seçecektir ve Value ile değeri alacaktır.</kategori>

XML’de bilinmesi gereken diğer noktada ChildNodes aşağı doğru hiyerarşik yapıyı tarar.Örneğin kitapların altındaki kitap kategoriler ve kategoriler altındaki kitaplar gibi.

Attributes ise soldan sağa doğru tarar yani üzerinde bulunulan child’in özelliklerini tarar.Yukarıda görüldüğü gibi Attributes[0] ile kitabın ilk özelliği yani “Kim Korkar C#’dan” kısmına eriştik.

Projeyi İndirmek için
RapidShare

Yazar : Mertcan Kurtaran

Etiketler Etiketler: ”, ,

Benzer Yazılar

  1. 3 yorum yapılmış

  2. user avatar Nurettin

    XML dosyasına md5 tabanlı hash satırı eklemem lazım :S

    8 Mart 2011 - 23:55

  3. user avatar metehan66

    myDoc.ChildNodes.Count ile kaç adet kategori olgudunu ögrenebiliyoruz ama o kategori altında kaç kitap oldugunu nasıl hesaplayabiliriz.

    Bilgisayar kategorisinde 2 kitap Sağlık kategorisinde 3 kitap bulunmakta. bunun sayısını count ile alabilir miyiz ? şimdiden teşekkürler.

    23 Temmuz 2011 - 18:26

  4. user avatar Mertcan Kurtaran

    Yukarıdaki örneğe istinaden Bilgisayar kategorisindeki kitap sayısı aşağıdaki şekilde alınabilir.

    myDoc.ChildNodes[1].ChildNodes[0].Count

    24 Temmuz 2011 - 09:45

Yorum Yap

Isim : (gerekli)
E-mail : (gerekli)
Yorumunuz: