Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: Показать структуру HTML
Дальше: Вставить произвольный фрагмент HTML

Изменить содержимое HTML

Предположим, нам нужно программно изменить содержимое HTML-документа, например добавить в уже существующую таблицу документа еще одну строку и заполнить значения ее столбцов.

Для решения этой задачи добавим команду ИзменитьСодержимоеHTML. Обработчик команды заполним следующим образом (листинг 6.102).

Листинг 6.102. Обработчик команды «ИзменитьСодержимоеHTML»

&НаКлиенте

Процедура ИзменитьСодержимоеHTML(Команда)

 

ДокументHTML = ПолучитьДокументHTML(Текст_HTML);

 

Узлы = ДокументHTML.ПолучитьЭлементыПоИмени("table");

Таблица = Узлы[0];

 

НоваяСтрока = ДокументHTML.СоздатьЭлемент("tr");

Таблица.ДобавитьДочерний(НоваяСтрока);

 

НоваяЯчейка = ДокументHTML.СоздатьЭлемент("td");

НоваяЯчейка.ТекстовоеСодержимое = "Пятое";

НоваяСтрока.ДобавитьДочерний(НоваяЯчейка);

НоваяЯчейка = ДокументHTML.СоздатьЭлемент("td");

НоваяЯчейка.ТекстовоеСодержимое = "Шестое";

НоваяСтрока.ДобавитьДочерний(НоваяЯчейка);

 

АдресHTML = ПолучитьТекстHTML(ДокументHTML);

 

КонецПроцедуры

В этом обработчике сначала мы получаем объект ДокументHTML с помощью функции ПолучитьДокументHTML(), в которую передаем текст HTML-документа, содержащийся в реквизите Текст_HTML. Эта функция была рассмотрена выше, в листинге 6.98.

После этого методом ПолучитьЭлементыПоИмени("table") объекта ДокументHTML мы получаем коллекцию элементов документа, содержащих таблицы, и из этой коллекции получаем первый узел типа ЭлементТаблицаHTML.

Затем методом СоздатьЭлемент("tr") объекта ДокументHTML мы создаем элемент документа типа ЭлементСтрокаТаблицыHTML. И добавляем этот узел в таблицу методом ДобавитьДочерний() объекта ЭлементТаблицаHTML. Таким образом, мы добавили новую строку в таблицу в качестве подчиненного узла.

Затем методом СоздатьЭлемент("td") объекта ДокументHTML мы создаем элемент документа типа ЭлементЯчейкаТаблицыHTML. Устанавливаем текстовое содержимое этой ячейки и добавляем этот узел в новую строку таблицы методом ДобавитьДочерний() объекта ЭлементСтрокаТаблицыHTML. Таким образом, мы добавили новую ячейку в строку в качестве подчиненного узла.

Аналогичным образом заполняем и добавляем в строку вторую ячейку.

Теперь нам нужно получить HTML-текст результирующего документа, чтобы запомнить его реквизите АдресHTML. Для этого мы используем функцию ПолучитьТекстHTML(), в которую передаем результирующий документ. Функция была рассмотрена выше, в листинге 6.95.

Таким образом, после загрузки HTML-документа из файла (кнопка Прочитать HTML из файла) и нажатия кнопки Изменить содержимое HTML вид документа изменится следующим образом (рис. 6.19).

Рис. 6.19. Измененный HTML-документ

Назад: Показать структуру HTML
Дальше: Вставить произвольный фрагмент HTML