ДействиеПостроителяDOM

Темы платформы · DOMBuilderAction

Содержит варианты действий, которые можно выполнить при создании узла в контексте документа DOM.

Полное описание, параметры и ограничения

ДействиеПостроителяDOM (DOMBuilderAction)

ДействиеПостроителяDOM (DOMBuilderAction)

Доступен, начиная с версии 8.1.

Значения
ВставитьПеред (InsertBefore)
ВставитьПосле (InsertAfter)
ДобавитьКакДочерние (AppendAsChildren)
Заменить (Replace)
ЗаменитьДочерние (ReplaceChildren)

Описание:

Содержит варианты действий, которые можно выполнить при создании узла в контексте документа DOM.

Доступность:

Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

См. также:
ПостроительDOM, метод ПрочитатьВКонтексте

Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Вставить XML-фрагмент: ДобавитьКакДочерние

Добавить как дочерние узлы. Результат чтения добавляется в узел контекста документа в качестве дочерних узлов. В качестве узла контекста могут выступать узлы: Элемент или ФрагментДокумента. Значение применяется к конкретной операции из примера.

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

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

Подготовка

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

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

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

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

  1. У исходного документа есть корневой элемент товары и дочерний старый.

  2. Для добавления или замены дочерних используется родитель, для вставки перед/после и замены — сам старый узел.

  3. Построитель читает самостоятельный фрагмент новый и применяет выбранное действие.

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

  1. Порядок дочерних элементов после операции: старый, новый.

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

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

Структура документа изменилась реальной операцией вставки или замены.

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

  1. ВставитьПеред и ВставитьПосле требуют узел с допустимым родителем; корень документа не является таким контекстом.

  2. Не пытайтесь повторно использовать уже удалённый старый узел как актуальный контекст.

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

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

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

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

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