Документ, разметка, заголовок и обычный элемент: сравнение

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

Корень документа, элемент html, head и span — разные настоящие узлы одного дерева.

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

Синтаксический пример для серверного обработчика или толстого клиента. ЧтениеHTML и ПостроительDOM разбирают собственную строку в память; это не открытие страницы в браузере. Здесь код не выполнялся.

Подготовка

  1. Разметка находится в собственной строке; идентификаторы root, head и label уже заданы.

  2. head — ЭлементЗаголовокHTML, а не визуальный заголовок h1. html — ЭлементРазметкаHTML; span представляет обычный ЭлементHTML.

Чтение = Новый ЧтениеHTML;
Чтение.УстановитьСтроку("<html id=""root""><head id=""head""><title>Памятка</title></head><body><span id=""label"">Книга</span></body></html>");
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Чтение);
Чтение.Закрыть();
Корень = Документ.ПолучитьЭлементПоИдентификатору("root");
Заголовок = Документ.ПолучитьЭлементПоИдентификатору("head");
Метка = Документ.ПолучитьЭлементПоИдентификатору("label");
Документ.СравнитьПозициюВДокументе(Корень);
Корень.СравнитьПозициюВДокументе(Заголовок);
Заголовок.СравнитьПозициюВДокументе(Метка);
Метка.СравнитьПозициюВДокументе(Корень);
Сообщить("Сравнения вызваны на документе и трёх элементах");

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

  1. Создайте дерево из строки.

  2. Получите реальные элементы по идентификаторам.

  3. Сравните документ с корнем, затем связанные элементы между собой.

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

  1. Получатели вызовов — разные узлы этого же документа.

  2. Строка Книга и структура документа не редактируются сравнением.

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

Приведён короткий пример синтаксиса и его ограничения. Здесь он не запускался в 1С; выполните проверки в своём учебном контексте.

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

  1. В установленной справке СравнитьПозициюВДокументе не указан тип возвращаемого значения. Поэтому вызовы показаны без присваивания результата; числовые маски, конкретные коды и успешный результат здесь не выдумываются.

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

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

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

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

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

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