Вычислить XPath с результатом Число

Учебные задачи

Результат может представлять собой число. Значение применяется к конкретной операции из примера.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Используйте серверную процедуру учебной обработки. Код без директив вставьте в её тело; отдельные реквизиты конфигурации не нужны.

  2. Все XML, DOM и JSON этого урока создаются из собственных строк в памяти. Не открывайте полученный HTML в браузере и не подставляйте рабочие файлы.

Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку("<товары><товар>Книга</товар><товар>Ручка</товар></товары>");
Построитель = Новый ПостроительDOM;
Док = Построитель.Прочитать(Чтение);
Чтение.Закрыть();
Разыменователь = Док.СоздатьРазыменовательПИ();
Результат = Док.ВычислитьВыражениеXPath("count(/товары/товар)", Док,
    Разыменователь, ТипРезультатаDOMXPath.Число);
Сообщить(Результат.ЧисловоеЗначение);

Разбор по шагам

  1. XML содержит два заранее известных узла товар.

  2. Тип результата определяет допустимый способ чтения: число, строка, флаг, одиночный узел или итератор.

  3. Выражение XPath соответствует выбранному типу, результат реально читается.

Как проверить результат

  1. Результат: 2.

  2. Измените текст Книга на Справочник: строковые и узловые результаты отражают новый текст, число узлов остаётся 2.

Ожидаемый результат

XPath возвращает результат с явно выбранным контрактом чтения.

На что обратить внимание

  1. Нельзя читать ЧисловоеЗначение у результата-итератора или ОдиночныйУзелЗначение у числового результата.

  2. Не изменяйте документ во время обхода итератора: это делает его состояние недействительным.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.