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

Разобрать HTML

Предположим, нам нужно разобрать HTML-документ с целью дальнейшей обработки всех элементов документа, содержащих картинки, якоря, формы и т. д.

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

Листинг 6.100. Обработчик команды «РазобратьHTML»

&НаКлиенте

Процедура РазобратьHTML(Команда)

 

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

 

Сообщение = Новый СообщениеПользователю();

ТекстСообщения = ДокументHTML.ЭлементДокумента.ТекстовоеСодержимое + Символы.ПС;

 

ТекстСообщения = ТекстСообщения + "Картинки" + Символы.ПС;

Для Каждого Картинка Из ДокументHTML.Картинки Цикл

ТекстСообщения = ТекстСообщения + Картинка.АльтернативныйТекст + Символы.ПС;

ТекстСообщения = ТекстСообщения + Картинка.Источник + Символы.ПС;

КонецЦикла;

 

ТекстСообщения = ТекстСообщения + "Якоря" + Символы.ПС;

Для Каждого Якорь Из ДокументHTML.Якоря Цикл

ТекстСообщения = ТекстСообщения + Якорь.ТекстовоеСодержимое + Символы.ПС;

ТекстСообщения = ТекстСообщения + Якорь.Гиперссылка + Символы.ПС;

КонецЦикла;

 

Сообщение.Текст = ТекстСообщения;

Сообщение.Сообщить();

 

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

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

Используя свойство ЭлементДокумента объекта ДокументHTML, мы получаем корневой узел HTML-документа и выводим все его текстовое содержимое в окно сообщений пользователю.

Затем обходим в цикле коллекцию элементов всех изображений HTML-документа (ДокументHTML.Картинки). По мере обхода объектов ЭлементКартинкаHTML выводим пользователю альтернативный текст и источник (URI-адрес) каждой картинки.

Затем обходим в цикле коллекцию элементов всех якорей (гиперссылок) HTML-документа (ДокументHTML.Якоря). По мере обхода объектов ЭлементЯкорьHTML выводим пользователю текстовое содержимое и гиперссылку (адрес другого ресурса) каждой гиперссылки.

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

Рис. 6.17. Картинки и якоря HTML-документа

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