تبدیل Serializing مقادیر به XML در #c

در این مقاله می خواهیم تبدیل serializing مقادیر به xml در #c شرح دهیم که در واقع xml خود یک زبان برنامه نویسی نیست بلکه فقط زبانی است برای توصیف داده ها که می توان از آن برای انتقال اطلاعات به صورت فایل های متنی با خوانایی بالا استفاده کرد.

تبدیل Serializing   مقادیر به XML در #c

 

اول از همه میخوام بگم که Serializing  چیه و چگونه کار میکند ؟

Serialization  تبدیل فرایند مقادیر در رشته ای از بایت ها در سی شارپ  می باشد. در این مقاله تبدیل serialize مقادیر به xml را نشان خواهم داد.  XML Serialization فیلدهای عمومی مقادیر رشته ای را به xml  تبدیل میکند.

 

حال یک console application در ویژوال استودیو ایجاد می کنیم و یک کلاس تعریف میکنیم که در آن مقدار دهی میکنیم:

1.	public class Employee {  
2.	  
3.	    public int Id = 1;  
4.	    public String name = "John Smith";  
5.	    public string subject = "Physics";  
6.	}  

بعد از قرار دادن تعریف خود در یک فایل کلاس در برنامه فضاهای نام مربوط را هم به برنامه خود اضافه میکنیم و یک متد به کلاس Employee اضافه می نماییم که کلاس بتواند محتویات خود را در یک فایل xml بنویسد برای این کار کد زیر را بنویسید :

1.	static void Main(string[] args) {  
2.	    Employee bs = new Employee();  
3.	  
4.	    XmlSerializer xs = new XmlSerializer(typeof(Employee));  
5.	  
6.	    TextWriter txtWriter = new StreamWriter(@  
7.	    "D:\Serialization.xml");  
8.	  
9.	    xs.Serialize(txtWriter, bs);  
10.	  
11.	    txtWriter.Close();  
12.	  {

XmlSerilizer یک شی به عنوان پارامتر می گیرد که برای Serilizer کردن داده ها فایل xml  به کار میرود که به عمل نوشتن اطلاعات در یک فایل Xml  را Serialize می گویند. با استفاده از متد Serialize کلاس xs که احتیاج به دو ارگومان دارد یکی نام جریان که از نوع txtwriter است و دیگری نام شی، شی موردنظر رادرفایل ذخیره کرده ام و سپس با استفاده از تابع عضوClose() مربوط به کلاس employee ارتباط برنامه را با آن فایل  قطع  نموده ام.                                       

در این قسمت میخواهیم اطلاعات را به درستی در قالب یک فایل xml ذخیره  شود. وقتی که برنامه را اجرا میکنید فایل های xml را در زیر مشاهده می نمایید:

1.	  <?xml version="1.0" encoding="UTF-8"?>  
2.	<Employee  
3.	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
4.	    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
5.	    <Id>1</Id>  
6.	    <name>John Smith</name>  
7.	    <subject>Physics</subject>  
8.	</Employee>