DevToolbox

Бесплатно онлайн XPath Tester

XPath онлайн-тестер — вычисляйте XPath 1.0-выражения для XML-документов прямо в браузере. Поддержка наборов узлов, строк, чисел, булевых значений и всех стандартных осей. Бесплатно, на стороне клиента.

100% на стороне клиента · Данные никогда не покидают ваш браузер
Output appears here…
Quick Reference

Как использовать XPath Tester

Вставьте XML в панель XML Input слева, затем введите XPath-выражение в поле XPath Expression справа.

  • Нажмите Test или Ctrl/Cmd+Enter, чтобы вычислить выражение.
  • Значок типа результата показывает, является ли результат набором узлов, строкой, числом или булевым.
  • Для наборов узлов каждый совпавший узел сериализуется и отображается отдельно.
  • Кликните на элемент в Quick Reference, чтобы вставить распространённый паттерн.
  • Нажмите Load Sample, чтобы загрузить XML с примером книжного магазина.

Вычисление XPath использует нативный браузерный API document.evaluate(). Никакие данные не передаются на сервер.

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

Что такое XPath?

XPath (XML Path Language) — язык запросов для выбора узлов из XML-документа. Использует путевые выражения для навигации по древовидной структуре. XPath 1.0 широко поддерживается в браузерах через нативный API <code>document.evaluate()</code>.

Как выбрать все элементы с определённым именем?

Для рекурсивного поиска используйте оператор двойного слеша <code>//</code>. Например, <code>//book</code> выбирает все элементы <code>&lt;book&gt;</code> в любом месте документа, а <code>//title</code> — все элементы <code>&lt;title&gt;</code> на любой глубине.

Как выбрать значение атрибута?

Используйте префикс <code>@</code> перед именем атрибута. Например, <code>//book/@category</code> возвращает все значения атрибута "category" у элементов <code>&lt;book&gt;</code>. Для фильтрации по значению атрибута используйте <code>//book[@category="fiction"]</code>.

Какие функции доступны в XPath 1.0?

XPath 1.0 включает строковые функции (<code>string()</code>, <code>contains()</code>, <code>starts-with()</code>), числовые функции (<code>count()</code>, <code>sum()</code>), булевые функции (<code>boolean()</code>, <code>not()</code>) и функции навигации по узлам (<code>last()</code>, <code>position()</code>, <code>name()</code>).

Почему мой XPath не возвращает результатов?

Распространённые причины: (1) Элемент имеет пространство имён — XPath 1.0 требует явной обработки пространств имён. (2) Путь чувствителен к регистру — имена элементов XML чувствительны к регистру. (3) Используется синтаксис XPath 2.0 (например, префиксы <code>fn:</code>), который не поддерживается нативным движком XPath 1.0 браузера.

Мои данные XML в безопасности?

Да. XML разбирается и запрашивается целиком в браузере с помощью встроенных API DOMParser и document.evaluate(). Данные никогда не отправляются на сервер. Вы можете безопасно вставлять внутренние XML-документы.

Связанные инструменты