Инструменты
RU

Тестер XPath онлайн

Введите выражение XPath и смотрите результат по мере ввода: найденные элементы, атрибуты и текст или число, строку либо логическое значение, которое возвращает выражение. Тестер использует встроенный в ваш браузер движок XPath 1.0.

Примеры — нажмите, чтобы попробовать:

    Конфиденциально: ваши данные обрабатываются в браузере и никуда не загружаются.

    Как проверить выражение XPath

    1. Вставьте свой XML, откройте файл или воспользуйтесь примером — каталогом товаров.
    2. Введите выражение XPath или нажмите на один из примеров. Результат обновляется по мере ввода, а клавиша Enter выполняет выражение сразу.
    3. Изучите результат: количество найденных узлов с их типом и содержимым или число, строку либо логическое значение, которое возвращает выражение.

    Шпаргалка по XPath

    ВыражениеЧто выбирает
    /catalogКорневой элемент catalog
    //productВсе элементы product на любой глубине
    /catalog/product/namename каждого товара, шаг за шагом от корня
    //product/@idАтрибут id каждого товара
    //product[@category='books']Товары, у которых атрибут category равен books
    //product[price > 20]Товары с ценой выше 20 (сравнение как чисел)
    //product[contains(name, 'USB')]Товары, в названии которых есть «USB» (с учётом регистра)
    //product[not(tags)]Товары без дочернего элемента tags
    (//product)[1]Первый товар в документе
    //product[1]Первый товар внутри каждого родительского элемента
    //product[last()]Последний товар внутри каждого родительского элемента
    //name/text()Текстовые узлы внутри name
    //price/..Родительский элемент каждого price
    //*[local-name()='product']Элементы product в любом пространстве имён
    count(//product)Количество товаров
    sum(//price)Сумма всех цен
    string(//product[1]/name)Название первого товара в виде строки

    Пространства имён в XPath

    В XPath 1.0 нет пространства имён по умолчанию. В документе с xmlns="…", например в карте сайта или счёте NF-e, выражение //url ничего не находит, потому что элементы принадлежат этому пространству имён. Поэтому тестер привязывает пространство имён по умолчанию к префиксу x: (или d:, если x уже занят), и выражение //x:url/x:loc работает. Префиксы, объявленные в документе, например cfdi: в счёте CFDI, можно использовать как есть. В инструментах без настройки пространств имён везде работает //*[local-name()='url'].

    Часто задаваемые вопросы

    Какую версию XPath поддерживает тестер?

    XPath 1.0 — версию, встроенную во все браузеры и большинство XML-библиотек. Функции XPath 2.0 и более поздних версий, например matches(), lower-case() или string-join(), недоступны.

    Почему XPath ничего не возвращает?

    Чаще всего причина в пространстве имён по умолчанию (используйте префикс x:, указанный под примерами), в разном регистре букв — XPath чувствителен к регистру — или в позициях, которые начинаются с 1, а не с 0.

    Сколько результатов показывается?

    Подсчитываются все совпадения, а первые 500 выводятся списком с типом узла и содержимым.

    Загружается ли мой XML на сервер?

    Нет. XML разбирается и обрабатывается в вашем браузере. Через наш сервер загружается только файл по указанному вами URL.