Заменить. Результат чтения заменяет узел контекста документа. В качестве узла контекста могут выступать узлы, имеющие в качестве родительского: Элемент или ФрагментДокумента.
Полное описание, параметры и ограничения
ДействиеПостроителяDOM.Заменить (DOMBuilderAction.Replace)
ДействиеПостроителяDOM (DOMBuilderAction)
Заменить (Replace)
Доступен, начиная с версии 8.1.
Описание:
Заменить. Результат чтения заменяет узел контекста документа. В качестве узла контекста могут выступать узлы, имеющие в качестве родительского: Элемент или ФрагментДокумента.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Вставить XML-фрагмент: Заменить
Заменить. Результат чтения заменяет узел контекста документа. В качестве узла контекста могут выступать узлы, имеющие в качестве родительского: Элемент или ФрагментДокумента. Значение применяется к конкретной операции из примера.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте серверную процедуру учебной обработки. Код без директив вставьте в её тело; отдельные реквизиты конфигурации не нужны.
Все XML, DOM и JSON этого урока создаются из собственных строк в памяти. Не открывайте полученный HTML в браузере и не подставляйте рабочие файлы.
Док = Новый ДокументDOM("", "товары");
СтарыйУзел = Док.СоздатьЭлемент("старый");
Док.ЭлементДокумента.ДобавитьДочерний(СтарыйУзел);
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку("<новый/>");
Построитель = Новый ПостроительDOM;
Построитель.ПрочитатьВКонтексте(Чтение, СтарыйУзел,
ДействиеПостроителяDOM.Заменить);
Чтение.Закрыть();
Для Каждого Узел Из Док.ЭлементДокумента.ДочерниеУзлы Цикл
Сообщить(Узел.ИмяУзла);
КонецЦикла;Разбор по шагам
У исходного документа есть корневой элемент товары и дочерний старый.
Для добавления или замены дочерних используется родитель, для вставки перед/после и замены — сам старый узел.
Построитель читает самостоятельный фрагмент новый и применяет выбранное действие.
Как проверить результат
Порядок дочерних элементов после операции: новый.
Каждый запуск создаёт новый документ в памяти: изменения прошлого запуска не влияют на результат.
Ожидаемый результат
Структура документа изменилась реальной операцией вставки или замены.
На что обратить внимание
ВставитьПеред и ВставитьПосле требуют узел с допустимым родителем; корень документа не является таким контекстом.
Не пытайтесь повторно использовать уже удалённый старый узел как актуальный контекст.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.