Имя: Пароль:
1C
1C 7.7
v7: Парсер таблицы из страницы сайта в 1с 7.7.
0 From_RB
 
16.12.18
11:55
Подскажите плиз

Есть сайт.Сторонний.
Необходимо делать запрос вида: https://сайт/СекретныйКод

В ответ приходит страница.
Необходимо парсить конкретную таблицу со страницы в 1ску

Каков оптимальный путь решения?
1 trdm
 
16.12.18
11:56
(0) wget + htmlfile
2 trdm
 
16.12.18
11:57
IE.navigate + dom
3 trdm
 
16.12.18
11:58
на вкус и цвет.
4 From_RB
 
16.12.18
12:52
через DOM разбираю
5 From_RB
 
16.12.18
15:53
Сохраняю скачанную страницу как XML
При попытке разбора XML

"Имя начинается с ошибочного знака. Ошибка при обработке ресурса"

Как поправить? или привести к правильному виду?
6 kolyuchka
 
16.12.18
16:18
Приветствую. Как тут приложить фото к тексту? Хотелось бы заполнить тему ещё и актуальными фотографиями.
7 From_RB
 
16.12.18
17:41
Прилагаю полученный файл
Сохраненный запрос с сайта:

https://yadi.sk/d/__KNJMKL86MLxw

Как поправить его для нормального чтения
через
CreateObject("MSXML2.DOMDocument.6.0");
и
selectNodes
8 From_RB
 
16.12.18
17:54
Ошибка синтаксического анализа XML: некорректно
Адрес: https://codebeautify.org/xmlvalidator
Строка 68, символ 37:
                if ((code >= 1040) && (code <= 1103)) return false;

Вот результат%.
9 From_RB
 
16.12.18
17:57
Возможно надо какой аналог НайтиНедопустимыеСимволыXML в 7.7?
10 trad
 
16.12.18
20:52
html нужно причесать к xhtml
Для этого можно например применить tidy
http://tidy.sourceforge.net/
11 trad
 
16.12.18
20:56
+ кроме консольной утили, существует ком-обертка
http://ablavier.pagesperso-orange.fr/TidyCOM/
12 From_RB
 
17.12.18
08:34
Все таки хочется спросить уважаемого All.

Возможно у кого то есть функция замены недопустимых символов под 1с 7.7
13 MadDAD
 
17.12.18
08:43
(12) СтрЧислоВхождений() ?
14 From_RB
 
17.12.18
08:46
Нет) Мне надо именно перечень всех "неправильных" символов для отсечки)
15 tgu82
 
17.12.18
08:55
(14) Была такая проблема. Искал вручную правда сначала при загрузке увидел номер объекта последнего нормально загружаемого. Оказалось что менеджер вбивал адрес и нажал контрл с чем-то (уже не помню с чем)
16 trad
 
17.12.18
09:06
(12) простой замены символов недостаточно для превращения html в xml
в грязном html могут быть, например незакрытые теги
17 From_RB
 
17.12.18
09:11
Мне надо вытянуть со страницы таблицу.

Вариант регэкспов был бы локальным решением вопроса,
но паттерн не соображу(.

Поэтому, насколько я понимаю надо 'причесать' html
к правильному XML. А дальше уже дело техники...
18 From_RB
 
17.12.18
09:20
То есть стоит задача:

Как преобразовать файл htm в xml средствами 1с 7.7
19 trad
 
17.12.18
09:33
tidy чем не подходит?
20 trad
 
17.12.18
09:38
еще, как вариант, если речь идет только о заранее известной таблице:
Попытаться определить некоторые уникальные символьные последовательности перед/в начале таблицы и после/в конце таблицы
Опираясь на них выпилить из всего текста только саму таблицу
Уже ее или разобрать алгоритмически или скормить xml-парсеру если ее структура нормальная
21 Сияющий в темноте
 
17.12.18
13:28
Вообще то,в системе есть встроенный обьект ServerXmlHttpRequest,который из семерки прекрасно работает,но я бы через прокладку на VbScript иMsScriptControl делал бы,т.к не будет преобразования из двухбайтовых в однобайтовые символы при передаче тела ответа.
22 From_RB
 
17.12.18
17:16
(21) Если чз ServerXmlHttpRequest - тоже файл получается некорректный как XML при загрузке.

А вот "но я бы через прокладку на VbScript иMsScriptControl"
Это как?

p.s Пока остановился на варианте конвертации с помощью TidyCOM.
23 Сияющий в темноте
 
17.12.18
22:11
сценарий на vbscript
24 From_RB
 
18.12.18
07:58
(23) Сделал с помощью Tidy.

А вот пример сценария на VBscript, который превращает html  в "правильный" XML было бы любопытно взглянуть.

Если таковой есть -просьба выложить. Спасибо.
25 Сияющий в темноте
 
19.12.18
10:32
o=СоздатьОбъект(MSScriptControl.ScriptControl)
o.Language=VbScript ну или JavaScript по желанию
o.AddCode(кодСценария)
o.Run(ИмяФункцииИзСценария,Параметры)
для передачи параметров удобно использовать Scripting.Dictionary

далее,на просторах интернета ищем рабочий сценарий и вставляем.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший