XML (eXtensible Markup Language) bir veri saklama ve taşıma biçimidir. C# ile yazılan uygulamalarda, verilerin XML olarak saklanması ve taşınması için serileştirme yapmak gerekir. Serileştirme, nesnenin bellekteki temsili ile dosyada veya başka bir kaynakta saklanan veri arasındaki ilişkiyi kurar. Bu işlem, nesnenin bellekteki temsili ile dosyada veya başka bir kaynakta saklanan veri arasındaki ilişkiyi kurar. Bu makalede, C# ile nasıl bir sınıfın nesnelerini bir dizi içinde XML olarak serileştireceğimizi göstereceğiz.
Öncelikle, bir sınıf oluşturalım. Bu sınıfın adı “Person” olacak ve içinde “Name” ve “Age” adlı iki özellik içerecektir. Ayrıca, bu sınıfın nesnelerini serileştirmek için [XmlRoot(“Person”)] özniteliğini ekleyeceğiz.
using System.Xml.Serialization;
[XmlRoot(“Person”)]
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Sonra, bir dizi oluşturalım ve bu diziye “Person” sınıfının nesnelerini ekleyelim.
Person[] people = new Person[] {
new Person { Name = “John”, Age = 30 },
new Person { Name = “Jane”, Age = 25 },
new Person { Name = “Bob”, Age = 35 }
};
Şimdi, dizi içindeki nesnelerin XML serileştirilmesi için “XmlSerializer” sınıfını kullanabiliriz.
XmlSerializer serializer = new XmlSerializer(typeof(Person[]));
using (StringWriter stringWriter = new StringWriter())
{
serializer.Serialize(stringWriter, people);
Console.WriteLine(stringWriter.ToString());
}
Bu kod bloğu, “people” dizisindeki nesnelerin XML serileştirilmiş halini “stringWriter” nesnesine yazacaktır. Bu serileştirilmiş veriyi ekrana yazdırmak için “Console.WriteLine(stringWriter.ToString());” komutunu kullanabiliriz.