آموزش :: خواندن فایل XML در سی شارپ به صورت مستقیم
درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
سیدجواد جدی
امتیاز: 1469
رتبه:233
0
4
7
158

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

تاریخ 17 ماه قبل
نظرات 0
بازدیدها 478
به نام خدا
در این پست ، با خواندن فایل 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 ایجاد شده است. یعنی اول فرزندان آن ایجاد شده است و بعد کل مخاطب اضافه شده است . یعنی در چهار خط اول ، مشخصات یا فرزندان درخت ایجاد شده اند سپس یک گره که مانند ریشه عمل میکتد و این چهار فرزند را در برمیگیرد ، ایجاد میشود و این گره در فایل اصلی اضافه میشود.

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

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

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

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