Вычисление и отладка выражений XPath
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Поводом к написанию обработки стала необходимость отладить выражение XPath, которое должно было вычисляться относительно узла, расположенного где-то в середине большого файла. К моему удивлению, адекватных бесплатных средств работы с XML, которые бы позволили это сделать - нет.
Все те утилиты, которые удалось найти делали это либо плохо, либо не так, как надо. Нужный функционал был в платном пакете XML Spy, однако, даже там нужно было писать весь путь от начала документа. Мне же нужно было проверить выражение относительно середины документа....
В результате, получилась данная обработка. Возможности:
- Быстро и просто подготовить отладку выражения - вставить XML текст, ввести выражение, выполнить.
- Отображает результат выражения в виде дерева узлов. Все узлы, попавшие в результат выражения визуализируются.
- Позволяет узнать текущий путь в документе для любого узла. То есть, для любого узла можем получить его путь в виде "/parent/parent[2]/child[3]"
- Позволяет вычислять выражение относительно произвольного контекста. Например, есть длинный документ, в середине которого есть узел, на котором вам нужно вычислить выражение. Порядок действий:
- 1. Вычисляем выражение "/" и получаем визуальное дерево документа (выполнять п.1 необязательно, можно писать сразу выражение)
- 2. Переходим в дереве на нужный узел и устанавливаем его в качестве текущего
- 3. Пишем выражение относительно текущего узла, а не от корня документа, как в большинстве аналогов
- 4. Наслаждаемся
При просмотре дерева используется динамический выбор узлов DOM, т.е. дерево результата не строится целиком, а экономит память и отображает узлы по мере необходимости.
Вступайте в нашу телеграмм-группу Инфостарт