Метод оцінки документа 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 та інші параметри в метод 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);
    }
}

Використовуйте метод 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 Document.Evaluate(), щоб вибрати конкретну інформацію з вибраних вузлів у C#

Іноді вам може знадобитися отримати окремі деталі з Node замість усього вмісту. Ви можете виконати наведені нижче дії, щоб використовувати запит 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# — безкоштовна оціночна ліцензія

Ви можете протестувати функції API на повну потужність без будь-яких обмежень, попросивши безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як використовувати метод XPath Query Document.Evaluate для вибору певних вузлів або конкретного вмісту вибраних вузлів, які відповідають виразу XPath. У той час як, якщо ви хочете обговорити будь-які ваші проблеми, зв’яжіться з нами на безкоштовному форумі підтримки.

Дивись також

Використовуйте селектори CSS у HTML за допомогою C#