XML Verilerini Parse Etmek

Yazar: Gürcan Serbest
Kategori: XML WEB Servisleri
Eklenme Tarihi: 19.5.2007 12:36:57



Bu makalemde sizlerle özellikle birçok topluluk sitesinde en çok sorulan sorulardan birisi olan XML Parser Modellerinden bahsediyor olacağım.

Merhabalar,

Bu makalemde sizlerle özellikle birçok topluluk sitesinde en çok sorulan sorulardan birisi olan XML Parser Modellerinden bahsediyor olacağım.

Öncelikle neden XML Verilerini parse etmek zorundayiz sorusuna cevap vererek baslayalim. XML bagimsiz iki uygulama arasindaki veri transferi standardi oldugundan XML içinde tasinan verileri ayristirarak uygulamamiz içinde kullanabilecegimiz ve uygulamamiz tarafindan anlasilabilecek veriye dönüstürmemiz gerekmektedir. Öyleyse kisaca XML Parse işlemini elimizdeki XML verisini uygulamamizin anlayabilecegi veriye dönüstürme işlemi olarak özetleyebiliriz.

Birçok firma tarafindan gelistirilen XML Parser’lar bulmak mümkündür. Bunlarin baslicalari ;

- Microsoft MSXML parser
- IBM XML4J package
- Oracle XML package seklinde siralayabiliriz.


Ben bu makalemde size en çok kullanilanlardan biri olarak düsündügüm Microsoft MSXML Parser’i tanitiyor ve bu konuda örnekler veriyor olacağım. Öncelikle MSXML parser bir COM nesnesi oldugu için hem istemci ve hem sunucu tarafinda da çalisabildigini, Microsoft MSXML’in agaç tabanli işlem modeli üzerine insa edilmis olan Document Object Model üzerinde çalistigini hatirlatalim.

Ben uygulamamizda kullanmak üzere asagidaki gibi küçük bir xml örnegi gelistirdim. Anlatimimda bu küçük uygulamayi kullanacagim.

<?xml version="1.0" encoding="iso-8859-9" ?>

<root>

<kitaplarimiz>
<kitapadi>MSXML</kitapadi>

<yazar>Gürcan SERBEST</yazar>
<oylesinekod>1111</oylesinekod>
</kitaplarimiz>

<kitaplarimiz>
<kitapadi>VB.NET</kitapadi>

<yazar>Gürcan SERBEST</yazar>
<oylesinekod>222</oylesinekod>
</kitaplarimiz>

</root>

Ben bu xml dosyasini bilgisayarima kitaplar.xml olarak kaydettim ve öyle çagiracagim. XML verimizi açip okumadan önce uygulamama bir adet Xml1 adinda bir XML nesnesi ekliyorum. Daha sonra az önce yaratip bilgisayarimiza kitaplar.xml olarak kaydettigimiz XML tipindeki dosyamizi uygulamamizda kullanabilmemiz için

Xml1.Document.Load (“kitaplar.xml")

komutu ile XML tipindeki dosyamizi çagiriyoruz.

kok = xml1.Document.DocumentElement


kodunu kullanarak MSXML parser'in Document nesnesinin DocumentElement metodu ile kitaplar.xml dosyamizin kök’üne erisiyoruz. Kullandigimiz XML dosyamizin içinde ne kadar 2 kütük veri olsa da daha büyük verilerle kullandigimizi düsünerek dosya içindeki verileri son veriye kadar

For i = 1 to kok.childNodes.Length

Next i


yukaridaki dongu ile okuyor ve her bir veriyi

root.childNodes.item(i).firstChild.text

komutu ile “i” degiskenine atiyoruz.

Peki ne yapar bu yukaridaki komut derseniz. Yukarida belirttigimiz komut kök elemanin altindaki kitaplar kümesininilk elemaninin içerigini karsimiza getirir. ChildNodes.Item(i) ilede kümelerdeki her hangi bir eleman’a indeks'le ulasmamizi saglar.

Sira geldi sona kitaplar.xml içindeki kitaplar listemizdeki kitap isimlerini getirmek içinse

Kitapadlari = Xml1.Document.GetElementsByTagName("kitapadi")

Kodunu kullanarak listeleyebiliriz.


Bu gerçeklestirdigimiz XML Parser uygulamasinda XML Parser’imiz ile kitaplar.xml dosyasi içindeki kitap isimlerimizi programimizda listeledik. Umarim yeni ögrenimlere vesile olmustur. Bir sonraki makale’de görüşmek üzere

Gürcan SERBEST


Gürcan Serbest

17.10.1985 tarihinde Eskişehir ilinde doğan Gürcan SERBEST. Bilgisayar'la 1992 yılında Commodore 64 ile tanıştı. Profesyonel yazılımcılık yaşamına okumuş olduğu Türk Telekom Anadolu Teknik Lisesi Bilgisayar/Yazılım bölümünde başlamıştır. Bir dönem Anadolu Üniversitesi Bilgisayar Klubü Başkan Yardımcılığında bulundu ve Anadolu Üniversitesi Açıköğretim Fakültesi Bilgisayar Destekli Eğitim Biriminde ASP.NET alanında E-Learning konusunda Uygulama Geliştirici olarak görev yapmıştır. 2006 yılında Almanya Hamburg kentindeki Probis Media Solutions?ta LDV kapsamında "Yazılım Mühendisliği alanında güncel uygulamalar" alanında yurtdışı stajını gerçekleştiren Gürcan SERBEST. Porsuk Meslek Yüksek Okulu Bilgisayar Programcılığı bölümünde eğitim eğitim almış ve halen Anadolu Üniversitesi İşletme Fakültesi İşletme bölümünde eğitimini sürdürmektedir. Bir çok ulusal ve uluslararası projede çeşitli pozisyonlarda görev alan Gürcan SERBEST başlıca MSAKADEMIK Üniversiteler Arası .NET Proje Yarışması , BTHab
Bu makaleye ilk yorum yapan siz olun.

Yorumunuz