CoderTools

XPath-Тестер

Тестирование и оценка XPath-выражений онлайн с мгновенными результатами

Результаты поиска

Совпадений не найдено
Введите XML/HTML и выражение XPath для просмотра результатов

Детали результата

Введите выражение XPath и XML/HTML для просмотра подробной информации

Быстрые шаблоны

Документация инструмента XPath

Понимание XPath

XPath (XML Path Language) - это язык запросов для выбора узлов из XML и HTML документов. Он использует выражения пути для навигации по элементам и атрибутам в древовидной структуре документа.

Абсолютный путь

/html/body/div

Начинается с корневого узла. Используйте, когда знаете точную структуру документа.

Относительный путь

//div[@class='content']

Выбирает узлы в любом месте документа. Более гибкий и часто используемый.

Справочник синтаксиса XPath

Выражения выбора

Выражение Описание
/ Выбирает от корневого узла (абсолютный путь)
// Выбирает узлы в любом месте ниже текущего контекста (относительный путь)
. Выбирает текущий узел
.. Выбирает родителя текущего узла
@ Выбирает атрибуты
* Соответствует любому узлу элемента

Предикаты (фильтры)

Выражение Описание
[1] Выбирает первый элемент
[last()] Выбирает последний элемент
[@attr] Выбирает элементы с указанным атрибутом
[@attr='val'] Выбирает элементы, где атрибут равен значению
[position()<3] Выбирает элементы с позицией меньше 3

Общие функции

text()

Выбирает текстовое содержимое узла

contains()

Проверяет, содержит ли строка подстроку

starts-with()

Проверяет, начинается ли строка с префикса

normalize-space()

Удаляет начальные/конечные пробелы

count()

Подсчитывает количество узлов

not()

Возвращает true, если условие false

Практические примеры XPath

Выбор внешних ссылок

//a[@href and contains(@class, 'external')]

Находит все элементы-якоря с атрибутом href и содержащие 'external' в классе.

Выбор данных таблицы (пропустить заголовок)

//table//tr[position() > 1]/td[1]

Выбирает первую ячейку каждой строки таблицы, исключая строку заголовка.

Извлечение видимого текстового содержимого

//*[not(self::script) and not(self::style)]//text()

Получает все текстовые узлы, кроме находящихся внутри элементов script и style.

Оси XPath

Оси определяют отношения между текущим узлом и другими узлами в дереве документа.

ancestor::

Выбирает всех предков (родитель, дедушка и т.д.)

descendant::

Выбирает всех потомков (дети, внуки и т.д.)

following-sibling::

Выбирает всех следующих братьев/сестёр

preceding-sibling::

Выбирает всех предыдущих братьев/сестёр

child::

Выбирает всех детей текущего узла

parent::

Выбирает родителя текущего узла

Быстрое меню

Нет недавних инструментов