ДействиеПостроителяDOM.Заменить

Свойства · Replace

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

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

ДействиеПостроителяDOM.Заменить (DOMBuilderAction.Replace)

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

Заменить (Replace)

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

Описание:
Заменить. Результат чтения заменяет узел контекста документа. В качестве узла контекста могут выступать узлы, имеющие в качестве родительского: Элемент или ФрагментДокумента.
Использование в версии:

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

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

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

Вставить XML-фрагмент: Заменить

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

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

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

Подготовка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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