درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
دوره های مرتبط
دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 27 قسط خریداری کنید
دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
مدرس: dr-iman
این دوره را در 13 قسط خریداری کنید
دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
مدرس: Amirhossein Fazlikhani
این دوره را در 12 قسط خریداری کنید
دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 78 قسط خریداری کنید
دوره آموزشی Exploit نویسی به زبان Perl
مدرس: dr-iman
این دوره را در 7 قسط خریداری کنید
دوره تخصصی آموزش متن کاوی با ابزار NLTK
مدرس: taghandiki
این دوره را در 11 قسط خریداری کنید
دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
مدرس: حسین احمدی
این دوره را در 23 قسط خریداری کنید
ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
مدرس: مهدی عادلی
این دوره را در 2 قسط خریداری کنید
دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
مدرس: taghandiki
این دوره را در 20 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 17 قسط خریداری کنید

خواندن فایل XML در سی شارپ به صورت مستقیم

0 نظرات
136 بازدیدها
به نام خدا
در این پست ، با خواندن فایل XML در سی شارپ توسط LINQ To XML آشنا خواهید شد. زیبایی کار در اینجاست که شما با استفاده از زبان SQL دارید یک فایل متنی را مورد خطاب قرار می دهید و دیگر در اینجاخبری از Table نیست.

نکات :
1- هر تگ در فایل XML یک Node نام دارد . برای خواندن یک Node به صورت زیر عمل شده است : (جستجو)
برای مثال Name یا Contact هر کدام یک Tag هستند و Name از فرزندان Contact است . هر تگ ممکن است یک Attribute یا صفت داشته باشد . برای مثال در فایل برنامه، یک صفت به نام Type با مقادیر Home یا Mobile برای تگ Phone تعریف شده است . در نهایت ، کد مربوط یه جستجو عبارت است از :
string _Name = txtName.Text;
string _Family = txtFamily.Text;
var phone = from x in 
 document.Elements("Phonebook").Elements("Contact")
 from p in x.Elements("Phone")
 where
 x.Element("Name").Value.ToString() == _Name &&
 x.Element("Family").Value.ToString() == _Family
 && p.Attribute("Type").Value =="Home"
 select
 p.Value.ToString();
همانطور که در بالا مشهود است ، دو عدد select زده ایم ، یک بر روی Contact ها و دیگر بر روی Phone ها، و آن Contact ی که نامش با نامی که کاربر وارد کرده است و فامیلشان با فامیلی که کاربر وارد کرده است را و نیز شماره تلفن ثابتش را انتخاب می کنیم و در Phone ذخیره می کنیم.

2- برای ذخیره کرده به صورت زیر عمل می کنیم :
XElement XName = new XElement("Name");
XElement XFamily = new XElement("Family");
XElement XPhone = new XElement("Phone");
XElement XMobile = new XElement("Phone");

XMobile.SetAttributeValue("Type", "Mobile");
XPhone.SetAttributeValue("Type", "Home");

XName.Value = txtName.Text;
XFamily.Value = txtFamily.Text;
XPhone.Value = txtPhone.Text;
XMobile.Value = txtMobile.Text;

XElement ContactNode = new XElement("Contact");
ContactNode.Add(XName);
ContactNode.Add(XFamily);
ContactNode.Add(XPhone);
ContactNode.Add(XMobile);
            

document.Descendants("Phonebook").Last().Add(ContactNode);
MessageBox.Show("Data saved", "OK", 
      MessageBoxButtons.OK, MessageBoxIcon.Information);

document.Save(Application.StartupPath + "\\Contacts.xml");
همانطور که در کد فوق مشخص است ، یک مخاطب جدید به صورت Bottom Up ایجاد شده است. یعنی اول فرزندان آن ایجاد شده است و بعد کل مخاطب اضافه شده است . یعنی در چهار خط اول ، مشخصات یا فرزندان درخت ایجاد شده اند سپس یک گره که مانند ریشه عمل میکتد و این چهار فرزند را در برمیگیرد ، ایجاد میشود و این گره در فایل اصلی اضافه میشود.

برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید

    arrow