تبدیل Serializing مقادیر به XML در #c
سه شنبه 5 خرداد 1394در این مقاله می خواهیم تبدیل serializing مقادیر به xml در #c شرح دهیم که در واقع xml خود یک زبان برنامه نویسی نیست بلکه فقط زبانی است برای توصیف داده ها که می توان از آن برای انتقال اطلاعات به صورت فایل های متنی با خوانایی بالا استفاده کرد.
اول از همه میخوام بگم که 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>
- C#.net
- 2k بازدید
- 1 تشکر