البرمجة

استرجاع قيم XML في C# باستخدام System.Xml

في بيئة تطوير C#، يتيح لنا استخدام الـ XML لفحص واسترجاع البيانات من سلاسل XML. في هذه الحالة، نحتاج إلى استخدام مكتبة System.Xml لتحليل النص الذي يحتوي على البيانات الخاصة بالـ XML. سنقوم بتجميع القيم المرتبطة بكل ID ونخزنها في Labels.

لنقم أولاً بتحليل النص الـ XML الذي تم استرجاعه من قاعدة البيانات:

csharp
using System; using System.Xml; class Program { static void Main() { // النص الذي يحتوي على الـ XML string xmlString = "dear jason, wishing you a happy easterThursday, 31-03-2016"; // إعداد محلل XML XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlString); // البحث عن العناصر التي تحتوي على القيم المطلوبة string value1 = GetValueById(xmlDoc, "3"); string value2 = GetValueById(xmlDoc, "4"); // عرض النتائج Console.WriteLine($"Label1.Text = \"{value1}\";"); Console.WriteLine($"Label2.Text = \"{value2}\";"); } // الدالة لاسترجاع القيمة بناءً على الـ ID static string GetValueById(XmlDocument xmlDoc, string id) { XmlNode node = xmlDoc.SelectSingleNode($"/Attributes/CheckoutAttribute[@ID='{id}']/CheckoutAttributeValue/Value"); return node.InnerText; } }

في هذا البرنامج، قمنا بتحليل النص الـ XML باستخدام XmlDocument. ثم، قمنا بتنظيم البحث عن القيم المطلوبة باستخدام XPath، حيث تم البحث بناءً على الـ ID. النتائج تم عرضها باستخدام جمل Console.WriteLine.

المزيد من المعلومات

بالتأكيد، دعونا نضيف بعض المعلومات إلى الشرح. في الشيفرة البرمجية السابقة، قمنا باستخدام مكتبة System.Xml في لغة البرمجة C# لتحليل النص الذي يحتوي على بيانات XML. سنقوم الآن بتوسيع الشرح حول بعض النقاط المهمة:

  1. تحليل النص XML:
    في هذا السياق، قمنا باستخدام XmlDocument لتحليل النص الـ XML. يقوم هذا الكائن بتوفير واجهة للوصول والتعامل مع بيانات XML بطريقة سهلة. يمكننا استخدام LoadXml لتحميل النص الـ XML.

    csharp
    XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlString);
  2. XPath لاستعراض العناصر:
    استخدمنا XPath لتحديد مواقع العناصر في الـ XML. في سياق الشيفرة البرمجية، استخدمنا SelectSingleNode لاسترجاع عنصر واحد بناءً على مسار XPath.

    csharp
    XmlNode node = xmlDoc.SelectSingleNode($"/Attributes/CheckoutAttribute[@ID='{id}']/CheckoutAttributeValue/Value");

    هنا، استخدمنا XPath لتحديد العنصر الذي يحتوي على الـ ID المحدد.

  3. استرجاع القيم:
    قمنا باستخدام InnerText لاسترجاع النص الفعلي الموجود داخل العنصر. في سياق الشيفرة البرمجية، كانت هذه الخطوة:

    csharp
    return node.InnerText;
  4. عرض النتائج:
    استخدمنا Console.WriteLine لعرض النتائج بشكل جميل ومفهوم. يمكننا أن نطبق نفس الأسلوب لتحديد قيم المكونات في واجهة المستخدم أو أي استخدام آخر حسب الحاجة.

  5. المرونة في التطبيق:
    يمكن تكامل هذه الشيفرة في تطبيق C# أو إضافتها إلى طبقة خدمة للاستفادة منها بشكل أكبر. يمكن أيضًا تعديل الشيفرة للتعامل مع حالات وقيم متعددة.

مع هذه المعلومات، يمكن للمطور استخدام هذا الكود كنقطة انطلاق لفحص واستخدام بيانات XML في تطبيقاته، مع الأخذ في اعتباره لتحسينه وتكامله وفقًا لمتطلبات مشروعه.

زر الذهاب إلى الأعلى