Tembel Programcının XML Rehberi

17-11-2007

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!

Recent Blog Posts

See all of the blog posts