الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية تمثيل الكائن بصيغة Xml (ما يعرف بعملية Serialization و Deserialization)

مغلق
بدأه عبد الكريم كنعان في 15 يناير 2008 · 2 رد · 1,035 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ربما يخطر ببالك يوما أو لم يخطر، سواء سمعت ام لم تسمع أنه بامكانك ارسال كائن من حاسبك إلى حاسب آخر، طبعا صدق فهذا الكلام صحيح، أو يمكن القول انه ايضا ارسال كائن مثلا من برنامج إلى آخر، تعرف هذه العملية تمثيل الكائن بالـ Serialization، إحدى الطرق في ذلك هو تمثيل الكائن بصيغة XML، دعنا نتعرف في هذه الكلمات المعبرة وغير الحزينة، عن كيفية عمل ذلك بسهولة فائقة، لنقل انك قمت بانشاء صف، فئة، كلاس (Class)، كاس سمه ماشئت وكان على النحو التالي:

public class Person
{
	public string name;
	public string familyName;
	public string email;
}

والان ماذا بعد، ما هو ات هو ما يلخص ماتكلمنا عنه سابقا، والان دعنا نقوم بانشاء كائن من هذا الصف:

Person p = newPerson();
p.name = "Abdulkarim";
p.familyName = "Kanaan";
p.email = "Abdulkarim2006@hotmail.com";

والان دعنا نقم بانشاء كائن من الصف XmlSerializer مع تحديد نوع الكائن الذي سنقوم بعملية تمثيل له، استعدادا لتمثيل الكائن بصيغة XML:

XmlSerializer xs = new XmlSerializer(typeof(Person));

بعد ذلك دعنا نقوم بانشاء كائن من الصف StreamWriter مع تحديد الملق الذي سيتم الكتابة عليه:

StreamWriter writer = 
	new StreamWriter("G:\\Test Files\\Person.xml");

والعملية الاخيرة في هذه القصة هي استدعاء التابع Serialize التابع للكائن xs:

xs.Serialize(writer, p);

ولا ننسى في النهاية اغلاق الاتصال مع الملف من خلال:

writer.Close();

لتصبح العملية كلها على النحو التالي:

static void Main(string[] args)
{
	Person p = new Person();
	p.name = "Abdulkarim";
	p.familyName = "Kanaan";
	p.email = "Abdulkarim2006@hotmail.com";

	XmlSerializer xs = new XmlSerializer(typeof(Person));
	StreamWriter writer = 
		new StreamWriter("G:\\Test Files\\Person.xml");
	xs.Serialize(writer, p);
	writer.Close();
}

والان هل استمتعت بهذه الجولة السريعة،

والان بقي امر اخير اذا اردت عملية تشكيل الكائن من خلال الملف السابق فماذا عليك ان تعمل، دعني اقل لك بقي امر ابسط من سابقه، لاحظ الشيفرة التالية:

static void Main(string[] args)
{
   StreamReader reader =
		newStreamReader("G:\\Test Files\\Person.xml");
   Person p1 = (Person)xs.Deserialize(reader);
   reader.Close();
}

لا تنسونا من صالح دعائكم.

#2

السلام عليكم ورحمة الله و بركاته

الحمد لله أنه هناك من ينتج في هذا القسم

#3
بن العيد كتب:
السلام عليكم ورحمة الله و بركاته

الحمد لله أنه هناك من ينتج في هذا القسم

وعليكم السلام ورحمة الله وبركاته

شكرا لمرورك على الموضوع.

هذا الموضوع مغلق.

مواضيع مشابهة