XPath-Тестер
Тестирование и оценка XPath-выражений онлайн с мгновенными результатами
Результаты поиска
Детали результата
Быстрые шаблоны
Документация инструмента 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::
Выбирает родителя текущего узла
Связанные инструменты
XML Форматтер
Форматирование и валидация XML данных с подсветкой синтаксиса
JSON Форматтер
Форматирование и валидация JSON данных для улучшения читаемости и отладки
Regex-Тестер
Тестирование и отладка регулярных выражений с мгновенными результатами совпадений
HTML Минификатор и Украшатель
Сжатие или украшение HTML кода, удаление пробелов и комментариев для оптимизации размера файла или форматирование кода для удобочитаемости