طريقة تقييم مستند XPath C#

يمكن استخدام XPath للعثور على عقد معينة تطابق بعض المعايير المحددة في تعبير XPath. يمكنك استخدام استعلام XPath للتنقل عبر مستند XML أو HTML. وفقًا لذلك ، توضح هذه المقالة كيفية استخدام XPath لتحديد عقد معينة وفقًا لمتطلباتك.

العمل مع XPath لتحديد العقد من ملفات XML أو HTML - تثبيت C# API

Aspose.HTML for .NET يمكن استخدام API لأتمتة العملية لتحديد نوع معين من العقد ، أو قراءة معلومات محددة من عقدة محددة. يمكنك تكوين API بسرعة عن طريق تنزيل ملف DLL من صفحة الإصدارات الجديدة أو باستخدام أمر التثبيت NuGet التالي:

PM> Install-Package Aspose.Html

استخدم طريقة XPath Document.Evaluate() للحصول على صور من صفحة ويب HTML في C#

يمكنك استخدام طريقة Document.Evaluate() للحصول على صور من صفحة ويب بتنسيق HTML. يرجى اتباع الخطوات أدناه لإكمال هذه العملية:

  1. تهيئة كائن من فئة HTMLDocument لتحميل الملف المصدر.
  2. قم بتمرير تعبير XPath والمعلمات الأخرى إلى أسلوب التقييم.
  3. كرر من خلال العقد المحددة واحصل على رابط لكل صورة.

يوضح نموذج التعليمات البرمجية التالي كيفية استخدام طريقة XPath Document.Evaluate() للحصول على صور من صفحة ويب HTML:

// قم بإنشاء مثيل لمستند HTML
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "xpath.htm")))
{
    // قم بتقييم تعبير XPath
    var result = doc.Evaluate("//main/div[position() mod 2 = 1]//img[@class = 'photo']", doc, doc.CreateNSResolver(doc), Aspose.Html.Dom.XPath.XPathResultType.Any, null);

    // كرر العقد الناتجة واطبعها على وحدة التحكم
    Aspose.Html.Dom.Node node;
    while ((node = result.IterateNext()) != null)
    {
        var img = (Aspose.Html.HTMLImageElement)node;
        Console.WriteLine(img.Src);
    }
}

استخدم طريقة XPath Document.Evaluate() لتحديد العقد من ملف XML في C#

في بعض الحالات ، قد تحتاج إلى تحديد عقد معينة من ملف XML. توضح الخطوات التالية كيفية تلبية هذه المتطلبات:

  1. قم بتحميل ملف XML المصدر بفئة HTMLDocument.
  2. قم باستدعاء الأسلوب Evaluate أثناء تمرير تعبير XPath والمعلمات الأخرى.
  3. كرر على العقد المحددة واطبع المحتوى الكامل للعقد المحددة.

يوضح مقتطف الشفرة أدناه كيفية استخدام طريقة XPath Document.Evaluate لتحديد العقد من ملف XML:

// قم بإنشاء مثيل للمستند
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // قم بتقييم تعبير XPath
    var dealers = doc.Evaluate("//Dealer[descendant::Car[descendant::Model > 2005 and descendant::Price < 25000]]", doc, doc.CreateNSResolver(doc), XPathResultType.Any, null);
    Aspose.Html.Dom.Node dealer;

    // كرر العقد الناتجة واطبع محتوياتها على وحدة التحكم
    while ((dealer = dealers.IterateNext()) != null)
    {
        Console.WriteLine(dealer.TextContent);
    }
}

استخدم مستند XPath.Evaluate() الأسلوب لاختيار معلومات محددة من العقد المحددة في C#

قد تحتاج أحيانًا إلى الحصول على تفاصيل معينة من العقدة بدلاً من المحتويات الكاملة. يمكنك اتباع الخطوات أدناه لاستخدام استعلام XPath للحصول على معلومات محددة من العقد المحددة.

  1. قم بالوصول إلى ملف XML للإدخال باستخدام فئة HTMLDocument.
  2. قم باستدعاء الأسلوب Evaluate للحصول على العقد المطابقة لتعبير XPath.
  3. مرر عبر العقد المطابقة واطبع المحتوى المحدد من كل عقدة.

يوضح نموذج التعليمات البرمجية التالي كيفية اختيار معلومات محددة من عقدة محددة في XML باستخدام أسلوب XPath Document.Evaluate:

// قم بإنشاء مثيل للمستند
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // حدد التجار الذين يطابقون تعبير XPath
    var dealers = doc.Evaluate("//Dealer[descendant::Car[descendant::Model > 2005 and descendant::Price < 25000]]", doc, doc.CreateNSResolver(doc), XPathResultType.Any, null);
    Aspose.Html.Dom.Node dealer;

    // كرر مع التجار المختارين
    while ((dealer = dealers.IterateNext()) != null)
    {
        // احصل على وطباعة اسم التاجر والهاتف
        var dealerInfo = doc.Evaluate("concat('Dealer name: ', Name, ' Telephone: ', Telephone)", dealer, doc.CreateNSResolver(doc), XPathResultType.String, null);
        Console.WriteLine(dealerInfo.StringValue);

        // حدد وطباعة CarID الذي يتطابق مع تعبير XPath
        var carIds = doc.Evaluate(".//Car[descendant::Model > 2005 and descendant::Price < 25000]/@CarID", dealer, doc.CreateNSResolver(doc), XPathResultType.Any, null);
        Aspose.Html.Dom.Node carId;

        while ((carId = carIds.IterateNext()) != null)
        {
            Console.WriteLine("Car id: " + carId.TextContent);
        }
    }
}

استخدم XPath لتحديد العقد في C# - اقرأ المزيد

يمكنك التعرف على مزيد من التفاصيل حول العمل مع XPath Query من خلال زيارة الموضوعات التالية في قسم التوثيق.

استعلام XPath لتحديد العقد من HTML أو XML في C# - رخصة تقييم مجانية

يمكنك اختبار ميزات واجهة برمجة التطبيقات بكامل طاقتها ، دون أي قيود عن طريق طلب ترخيص مجاني مؤقت.

استنتاج

في هذه المقالة ، تعلمت كيفية استخدام أسلوب XPath Query Document.Evaluate لتحديد عقد معينة أو محتويات معينة للعقد المحددة التي تطابق تعبير XPath. وحيث أنه في حالة رغبتك في مناقشة أي من مخاوفك ، يرجى التواصل معنا على منتدى الدعم المجاني.

أنظر أيضا

استخدم محددات CSS في HTML باستخدام C#