في بيئة تطوير C#، يتيح لنا استخدام الـ XML لفحص واسترجاع البيانات من سلاسل XML. في هذه الحالة، نحتاج إلى استخدام مكتبة System.Xml لتحليل النص الذي يحتوي على البيانات الخاصة بالـ XML. سنقوم بتجميع القيم المرتبطة بكل ID ونخزنها في Labels.
لنقم أولاً بتحليل النص الـ XML الذي تم استرجاعه من قاعدة البيانات:
csharpusing System;
using System.Xml;
class Program
{
static void Main()
{
// النص الذي يحتوي على الـ XML
string xmlString = "dear jason, wishing you a happy easter Thursday, 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. سنقوم الآن بتوسيع الشرح حول بعض النقاط المهمة:
-
تحليل النص XML:
في هذا السياق، قمنا باستخدامXmlDocument
لتحليل النص الـ XML. يقوم هذا الكائن بتوفير واجهة للوصول والتعامل مع بيانات XML بطريقة سهلة. يمكننا استخدامLoadXml
لتحميل النص الـ XML.csharpXmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlString);
-
XPath لاستعراض العناصر:
استخدمنا XPath لتحديد مواقع العناصر في الـ XML. في سياق الشيفرة البرمجية، استخدمناSelectSingleNode
لاسترجاع عنصر واحد بناءً على مسار XPath.csharpXmlNode node = xmlDoc.SelectSingleNode($"/Attributes/CheckoutAttribute[@ID='{id}']/CheckoutAttributeValue/Value");
هنا، استخدمنا XPath لتحديد العنصر الذي يحتوي على الـ ID المحدد.
-
استرجاع القيم:
قمنا باستخدامInnerText
لاسترجاع النص الفعلي الموجود داخل العنصر. في سياق الشيفرة البرمجية، كانت هذه الخطوة:csharpreturn node.InnerText;
-
عرض النتائج:
استخدمناConsole.WriteLine
لعرض النتائج بشكل جميل ومفهوم. يمكننا أن نطبق نفس الأسلوب لتحديد قيم المكونات في واجهة المستخدم أو أي استخدام آخر حسب الحاجة. -
المرونة في التطبيق:
يمكن تكامل هذه الشيفرة في تطبيق C# أو إضافتها إلى طبقة خدمة للاستفادة منها بشكل أكبر. يمكن أيضًا تعديل الشيفرة للتعامل مع حالات وقيم متعددة.
مع هذه المعلومات، يمكن للمطور استخدام هذا الكود كنقطة انطلاق لفحص واستخدام بيانات XML في تطبيقاته، مع الأخذ في اعتباره لتحسينه وتكامله وفقًا لمتطلبات مشروعه.