|
Программноеоткрытие HTML документа
| ☑ |
0
Anarki
28.02.15
✎
10:59
|
Есть некая HTML страница, которую мне нужно отпарсить и запихнуть в 1с. Проблема в том, что есть например строка такого вида
<b><span style=
'DISPLAY:NONE'>Dona</span>Б<span
style
='Display: none;
displаy:none;display:inline'>рюки</span><span
style
='DISPLAY
:NONE;
DISPLАY
:
BLOCK;DISPLAY:INLINE; DISРLAY:
NONE'><span
style=
'color:#F0F0F0'>
</span>Dona</span><span
style=
'display:inline;
Display: none;
displаy:block'>и </span><span style=
'DISPLAY: NONE;
DISPLАY:NONE;DISPLAY:INLINE'>tt</span>o Casua<span style=
'display:inline; DispLay:
nоne;Display:inline; DispLay:
none'>03</span><span
style='display:none'>tto C</span>l 355-JC-0<span style=
'Display
:none;
displаy
:
block;display:inline; disрlay:
none'>36</span><span style='display
:none;
displаy
:
block;display:inline; disрlay:
none;DISPLAY:INLINE; DISPLAY:
NONE'>6</span></b>
Которая в браузере выглядит вот так
Брюки Donatto Casual 355-JC-036
Что бы мне такую строку получить при распарсивании в 1с нужно игнорировать все, что находится в тегах с атрибутом <span style='display
:none;>
Но получается так только если я сначала открою страницу в 1ске и пересохраню ее, она сохраняется с другой кодировкой, там изменяется исходный код страницы. Можно ли это процесс программно воспроизвести?
|
|
1
Asmody
28.02.15
✎
11:38
|
(0) копай в сторону ЧтениеHTML, ДокументHTML, ЗаписьHTML и т.д.
|
|
2
Anarki
28.02.15
✎
11:56
|
Все там перекопал.
|
|
3
Anarki
28.02.15
✎
12:15
|
Получилось вот так
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстСтраницы = ТабличныйДокумент.ПолучитьТекст();
ТекстСтраницы = СтрЗаменить(ТекстСтраницы,"windows-1251","UTF-8");
ТекстовыйДокумент.УстановитьТекст(ТекстСтраницы);
ТекстСтраницы = ТекстовыйДокумент.ПолучитьТекст();
ТекстовыйДокумент.Записать(ПолноеИмяВременногоФайла);
Но глюк в том что ТабличныйДокумент.ПолучитьТекст() не срабатывает, то есть в ТекстСтраницы пустое значение залетает, НО если зайти отладчиком
и перед ТекстСтраницы = ТабличныйДокумент.ПолучитьТекст(); посмотреть что внутри ТабличныйДокумент.ПолучитьТекст() через шифт ф9, то тогда все ок. Че за хрень.
|
|
4
Anarki
28.02.15
✎
12:48
|
Получается она просто не успевает, нужно все делать в событии ДокументСформирован(Элемент)
|
|