اذهب إلى المحتوى
  • 0

كيف أخزّن متغير من نوع Object في ملف XML باستخدام #C؟

Programmer

السؤال

Recommended Posts

  • 0

يتم تخزين الكائنات Objects في ملفات XML باستخدام XmlWriter. مثلًا ليكن لدينا الصف Employee يحوي على مجموعة من الـ Attributes (المعرفID، الاسم الأول، الاسم الأخير، الراتب):

class Employee
    {
	int _id;
	string _firstName;
	string _lastName;
	int _salary;

إنشاء الـ constructor:

public Employee(int id, string firstName, string lastName, int salary)
	{
	    this._id = id;
	    this._firstName = firstName;
	    this._lastName = lastName;
	    this._salary = salary;
	}

إنشاء get Methods كما في المثال التالي:

public int Id { get { return _id; } }
	public string FirstName { get { return _firstName; } }
	public string LastName { get { return _lastName; } }
	public int Salary { get { return _salary; } }

الآن في الدالة main سيتم إنشاء كائنات Objects من الصف Employee:

static void Main()
    {
	Employee[] employees = new Employee[4];
	employees[0] = new Employee(1, "David", "Smith", 10000);
	employees[1] = new Employee(3, "Mark", "Drinkwater", 30000);
	employees[2] = new Employee(4, "Norah", "Miller", 20000);
	employees[3] = new Employee(12, "Cecil", "Walker", 120000);

تم تخزين الكائنات في مصفوفة من نوع Employee وذلك ليتم كتابة وتخزين عناصرها على ملف XML.

الآن إنشاء كائن من الصف XMLWriter وتمرير اسم الملف المراد إنشاءه لتخزين الكائنات Objects:

using (XmlWriter writer = XmlWriter.Create("employees.xml"))
	{....

استدعي الدالة WriterStartDocument  لتحديد بداية الملف:

writer.WriteStartDocument();

باستخدام الدالة WriteStartElement يتم تحديد وسم البداية الذي سيكتب على الملف وفي المثال أعلاه سيكون "Employees":

 writer.WriteStartElement("Employees");

إنشاء حلقة تكرار foreach وكتابة عناصر المصفوفة Employee ضمن الوسم "Employee" المتضمن في الوسم "Employees"

foreach (Employee employee in employees)
	    {
		writer.WriteStartElement("Employee");

		writer.WriteElementString("ID", employee.Id.ToString());
		writer.WriteElementString("FirstName", employee.FirstName);
		writer.WriteElementString("LastName", employee.LastName);
		writer.WriteElementString("Salary", employee.Salary.ToString());

		writer.WriteEndElement();
	    }

 في النهاية استدعاء الدالة WriteEndElemnt ثم WriteEndDocument:

writer.WriteEndElement();
writer.WriteEndDocument();

 

يوجد أيضًا طرق أخرى لتخزين الـ Objects في XML يمكنك الاطلاع عليها من هنا

 

تم التعديل في بواسطة Lujain
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...