xml

C# XML Serialization

Bu makaleyi okumaya başlamadan önce C# Serialization ve DeSerialization makalemi okumanızı tavsiye ederim.

XML Serilization, bir sınıfın public özelliklerini yada bir metodun parametrelerini ve geri dönüş değerlerini XML stream içerisine serileştirir. XML serileştirme metod, indexer, private özellikler, read-only özellikleri (read-only koleksiyonlar hariç) içermez. Çünkü XML genel bir standart olduğundan, XML stream herhangi bir platform üzerindeki herhangi bir uygulama tarafından işlenebilmelidir. Örneğin ASP.NET Web Servisleri, servis iletişiminde verileri Internet ve Intranet üzerinden göndermek için XML serileştirme kullanarak XML stream’ler oluşturarak iletmektedir. Buna karşın ters-serileştirme işlemindede bu XML stream’ler alınarak nesne tekrar oluşturulmaktadır.

Binary serileştirmenin aksine XML serileştirme tip sistem güvenilirliğini korumamaktadır (not preserves type system fidelity). Diğer bir deyişle tip bilgilerini içermemektedir. Örneğin Company namespace’i içerisinde yer alan Employee nesnemizin olduğunu düşünelim, bu nesne XML serileştirme ile serileştirilip sonrasında ters-serileştirildiğinde aynı tipte olacağının bir garantisi yoktur.

XML serileştirme ve ters-serileştirme işlemleri System.Xml.Serialization.XmlSerializer sınıfından faydalanılarak gerçekleştirilmektedir. Bu sınıfın en önemli metodları Serialize ve Deserialize‘dır.
(daha&helliip;)