Tembel Programcının XML Rehberi

17.11.2007

Okuyucu : 668
Günlük Okuyucu : 3,8

Tembel olmak programcının şanındandır(!). Son bir haftadır kafamda ufak bir sistem yazmak var ancak bunu yapabilmem için gerçekten çok büyük ve çok fazla dallı-budaklı bir XML dosyasını parse etmem gerekiyordu. Bu işlem bir defa değil aksine çok sık yapılacak bir işlemdi.

Hafta boyunca bu konu aklımda dolaşıp durdu, en basit bu olayı nasıl çözebilirim diye XML dosyasına bakıp bakıp düşündüm. En sonunda hafta-sonu gelip çatınca bende oturdum ve XML' i açtım. İşte o sırada cevap bana geldi. XML' den objeleri otomatik olarak oluşturmak. Yani ORM yapısını XML datalar için kullanmak.

Muhtemelen bu bilinen bir yöntem ama hiç bu şekilde ihtiyacım olmadığından haberim yoktu. Biraz google ve bir kaç makaleden sonra aradığıma ulaştım.

XSDObjectGenerator, Bu program XSD dosyalarından bize direk kod oluşturabiliyor. Tabii bu noktada başka bir sorun ortaya çıktı elimdeki XML dosyasının XSD dosyasının olmaması. Visual Studio ile gelen XSD.exe ile  XML dosyamın XSD dosyasını oluşturdum:

C:\>xsd.exe test.xml

Ondan sonra XSDObjectGenerator ile kodu oluşturdum:

C:\XSDObjectGenerator>XSDObjectGen.exe "X:\Project\X
ML\test.xsd" /l:VB /n:TestNameSpace

Son olarak yeni bir proje oluşturdum ve şu şekilde bir kod ile basit şekilde XML datalarının hepsini okur oldum :

Dim Player As New Player
       Using fs As New FileStream("test.xml", FileMode.Open)
           Dim s As XmlSerializer = New XmlSerializer(GetType(Player))
           Player = CType(s.Deserialize(fs), Player)
       End Using
Return Player

bu kadar!

Bu arada otomatik olarak oluşturulmuş olan kod : 26.289 satır!

Yorumlar

RSS Bu makalenin yorumlarını RSS ile takip et!

xml dosyalarinda sql sorgulari çalistirabilecegim bi library yazmayi düsünüyorum bos bi ugras mi olur yapilmisi var midir?

[ # | 17.11.2007 ]

bir de sayfayi her refresh yaptigimda okuyucu ve günlük okuyucu degerleri artiyor

[ # | 17.11.2007 ]

gelsin biri de benim query parserima 10123123213 satir kod yazsin. odeve bak ya :(

Tuna Toksoz [ # | 17.11.2007 ]

bir de sayfayi her refresh yaptigimda okuyucu ve günlük okuyucu degerleri artiyor
Dogru tekil IP adresi saymiyor sayfaya erisimi sayiyor.

Ferruh Mavituna [ # | 17.11.2007 ]

Bu arada bu XML olayi ile bir kac aksiyona daha girdim, tam bir harikaymis! isleri cok kisaltiyor.

Ferruh Mavituna [ # | 18.11.2007 ]

XMLin cok fazla kullanim alani var. Hele .net 3.5 ile programlamanin da icine girdi. XAML adindan da belli XML uzerine kurulu.
(N)Hibernate gibi ORMler tamamen XMLle calisiyorlar.

Tuna Toksoz [ # | 18.11.2007 ]

Yorum Ekle





Kullanılabilir Taglar : [<blockquote>] [<strong>] [<em>]

Tembel Programcının XML Rehberi ile İlişkili Olabilecek Yazılar - Haberler

İleri Seviye Javascript
WPF - Windows Presentation Framework Nedir?
.NET ile Object Pool
.NET Kaynak Kodlarını Download Etme
Design Patterns ve Refactoring

Diğer Yazılar

Neredeyim ?

Ferruh.Mavituna » Haberler » Tembel Programcının XML Rehberi

Ferruh Mavituna
© 2002-2007, Ferruh Mavituna

Sabit IP Adresi : 81.22.99.133, SSL Erişimi, Hakkında