Тестування виразів XPath онлайн

Використовуйте XPath Tester, щоб знаходити вузли на загальнодоступній вебсторінці за допомогою виразу XPath. Введіть URL і вираз, наприклад //img, //main//a або //*[@data-id]. Інструмент покаже відповідні вузли та створить код C# для такого самого запиту.

  1. Введіть URL вебсторінки, яку потрібно перевірити.
  2. Введіть вираз XPath, що визначає потрібні вузли.
  3. Натисніть Find, перевірте збіги та скопіюйте результат або створений код C#.


Виконання XPath-запиту до HTML на C#

Aspose.HTML for .NET обчислює вирази XPath у DOM документа. Цей приклад завантажує URL, показаний у віджеті, викликає Evaluate() та обробляє повернутий IXPathResult. Після зміни URL або виразу у віджеті цей C#-приклад із серверним рендерингом оновлюється автоматично. Контекстний вузол визначає початок обчислення, а XPathResultType – потрібний тип результату.

XPath-запит на C#

using System;
using Aspose.Html;
using Aspose.Html.Dom;
using Aspose.Html.Dom.XPath;

// Create an HTML document
string url = "https://www.aspose.com/";
using HTMLDocument document = new HTMLDocument(url);

// Evaluate the XPath expression
IXPathResult result = document.Evaluate("//a", document, null, XPathResultType.Any, null);

// Process the XPath result
switch (result.ResultType)
{
    case XPathResultType.Number:
        Console.WriteLine(result.NumberValue);
        break;
    case XPathResultType.String:
        Console.WriteLine(result.StringValue);
        break;
    case XPathResultType.Boolean:
        Console.WriteLine(result.BooleanValue);
        break;
    default:
        Node node;
        while ((node = result.IterateNext()) != null)
        {
            if (node is Element element)
            {
                Console.WriteLine(element.OuterHTML);
            }
            else
            {
                Console.WriteLine(node.TextContent);
            }
        }
        break;
}

Поширені шаблони XPath-запитів

XPath дає змогу вибирати елементи за назвою, атрибутом, позицією, ієрархією або текстовим вмістом:

  • //img вибирає всі елементи <img> у документі.
  • //main//a вибирає посилання на будь-якому рівні всередині <main>.
  • //*[@data-id] вибирає елементи з атрибутом data-id.
  • //ul/li[1] вибирає перший дочірній елемент <li> у кожному <ul>.
  • //p[contains(normalize-space(.), 'price')] вибирає абзаци, нормалізований текст яких містить price.

Для коротких запитів за класом, ID, атрибутом або елементом, яким не потрібні текстові умови чи осі XPath, CSS Selector Tester часто легше читати.


Використання XPath API на C#

  1. Створіть HTMLDocument із локального HTML-файлу або URL.
  2. Визначте вираз XPath і виберіть відповідний контекстний вузол.
  3. Викличте Evaluate() із виразом, контекстом, засобом розпізнавання просторів імен за потреби та очікуваним XPathResultType .
  4. Прочитайте повернуте значення або переберіть відповідні вузли за допомогою IterateNext() .

Якщо вираз використовує префікси просторів імен, передайте засіб, який зіставляє ці префікси з URI просторів імен. Для звичайних HTML-запитів без префіксів можна передати null.


Документація XPath і довідник API

Ці матеріали пояснюють обчислення XPath, навігацію HTML і приклади для XML:


Установлення Aspose.HTML for .NET

Установіть Aspose.HTML for .NET з NuGet за допомогою .NET CLI:

dotnet add package Aspose.HTML

Також можна скористатися інтерфейсом диспетчера пакетів NuGet або виконати Install-Package Aspose.HTML у консолі диспетчера пакетів. Докладні інструкції наведено в посібнику зі встановлення . Щоб оцінити API без обмежень ознайомлювальної версії, запросіть тимчасову ліцензію .


Поширені запитання

1. Що таке вираз XPath?

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

2. Чи можна використовувати XPath для HTML і XML?

Так. XPath працює з деревом DOM і може вибирати вузли в HTML- або XML-документах. Онлайн-інструмент призначений для загальнодоступних HTML-сторінок. Якщо потрібна робота з просторами імен або спеціальне завантаження XML, використовуйте задокументований сценарій XML на C#.

3. Чому вираз XPath не повертає вузлів?

Перевірте назви вузлів, предикати, контекстний вузол і структуру завантаженого документа. Для XML або вмісту з просторами імен також передайте засіб, який зіставляє кожен префікс у виразі з відповідним URI.

4. Коли слід використовувати XPath замість CSS-селектора?

Використовуйте XPath, коли запит має зіставляти текст, переходити до предків чи сусідніх вузлів або застосовувати предикати, які складно виразити в CSS. Для звичних запитів за класом, ID, атрибутом і нащадками використовуйте CSS-селектор.

Пов’язані сценарії вибору та редагування HTML

Продовжуйте роботу із CSS-селекторами, редагуванням DOM, вилученням даних таблиць або зображень на C#.