روش ارزیابی سند XPath C#

XPath را می توان برای یافتن گره های خاصی که با برخی از معیارهای تعریف شده در عبارت XPath مطابقت دارند، استفاده کرد. می توانید از پرس و جوی XPath برای پیمایش در یک سند XML یا HTML استفاده کنید. بر این اساس، این مقاله نحوه استفاده از XPath را برای انتخاب گره های خاص مطابق با نیاز شما توضیح می دهد.

برای انتخاب گره ها از فایل های XML یا HTML - C# API Installation با XPath کار کنید

Aspose.HTML for .NET API را می توان برای خودکارسازی فرآیند انتخاب نوع خاصی از گره ها یا خواندن اطلاعات خاص از یک گره انتخاب شده استفاده کرد. می‌توانید با دانلود فایل DLL از صفحه نسخه‌های جدید یا با استفاده از دستور نصب زیر NuGet API را به سرعت پیکربندی کنید:

PM> Install-Package Aspose.Html

برای دریافت تصاویر از یک صفحه وب HTML در سی شارپ از روش XPath Document.Evaluate () استفاده کنید.

می توانید از روش Document.Evaluate() برای دریافت تصاویر از یک صفحه وب HTML استفاده کنید. لطفا مراحل زیر را برای تکمیل این فرآیند دنبال کنید:

  1. برای بارگیری فایل منبع، یک شی از کلاس HTMLDocument را مقداردهی کنید.
  2. عبارت XPath و سایر پارامترها را به متد Evaluate منتقل کنید.
  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);
    }
}

برای انتخاب گره ها از فایل XML در سی شارپ از روش XPath Document.Evaluate استفاده کنید.

در موارد خاص، ممکن است لازم باشد گره های خاصی را از یک فایل XML انتخاب کنید. مراحل زیر نحوه برآوردن چنین الزاماتی را توضیح می دهد:

  1. فایل XML منبع را با کلاس HTMLDocument بارگیری کنید.
  2. هنگام عبور عبارت XPath و سایر پارامترها، متد Evaluate را فراخوانی کنید.
  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 Document.Evaluate استفاده کنید.

گاهی اوقات ممکن است لازم باشد به جای کل مطالب، جزئیات خاصی را از یک Node دریافت کنید. برای استفاده از پرس و جو XPath برای دریافت اطلاعات خاص از گره های انتخاب شده می توانید مراحل زیر را دنبال کنید.

  1. با استفاده از کلاس HTMLDocument به فایل XML ورودی دسترسی پیدا کنید.
  2. برای بدست آوردن گره هایی که با عبارت XPath مطابقت دارند، متد Evaluate را فراخوانی کنید.
  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 برای انتخاب گره ها در سی شارپ استفاده کنید - بیشتر بخوانید

می توانید با مراجعه به موضوعات زیر در بخش اسناد جزئیات بیشتری در مورد کار با XPath Query کسب کنید.

درخواست XPath برای انتخاب گره ها از HTML یا XML در C# - مجوز ارزیابی رایگان

می‌توانید ویژگی‌های API را با ظرفیت کامل، بدون هیچ محدودیتی با درخواست [مجوز موقت رایگان] آزمایش کنید.

نتیجه

در این مقاله، نحوه استفاده از روش XPath Query Document.Evaluate را برای انتخاب گره های خاص یا محتویات خاصی از گره های انتخاب شده که با عبارت XPath مطابقت دارند، یاد گرفته اید. در حالی که، در صورتی که می خواهید در مورد هر یک از نگرانی های خود صحبت کنید، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان12 تماس بگیرید.

همچنین ببینید

از انتخابگرهای CSS در HTML با استفاده از C# استفاده کنید