|
Чтение данных из HTML | ☑ | ||
---|---|---|---|---|
0
Rizhij_Nikitos
08.11.11
✎
14:29
|
Здравсвуйте.Как в 1С можно прочитать данные из HTML-файла, который я буду получать через HTTP-соединение методом GET. По идеи данные будут как бы в таблице отображены. Жду ваших дум, советов, подсказок в виде литературы.
|
|||
1
mzelensky
08.11.11
✎
14:38
|
по форуму поиск сделай - тут много таких тем было
+ как вариант на ИС зайди - там тоже обработок хватает! |
|||
2
Rizhij_Nikitos
08.11.11
✎
14:44
|
да вот мне бы простенький вариант, то есть я получаю данных в свой html документ, в виде как бы таблицы, и эту таблицу я должен буду расписахать по нужным данным в 1С. Мне бы примеры работы с этим хватило бы...
|
|||
3
Wobland
08.11.11
✎
14:46
|
(2) тоже сношаюсь с этим. вот обход конкретной таблицы с четырьмя колонками
HTML=Новый COMОбъект("HTMLFile"); HTML.Open("text/html"); HTML.Write(ф.ПолучитьТекст()); HTMLDocument=HTML.documentElement.document; Table=HTMLDocument.getElementsByTagName("Table"); obj=Table.Item(1); КоличествоСтрок=Цел((obj.cells.length-1)/4); Для i=1 По КоличествоСтрок Цикл |
|||
4
Rizhij_Nikitos
08.11.11
✎
14:52
|
Интересно, это для 8.2 код?
Строчки HTLM.Write(ф.ПолучитьТекст())- что такое ф? ) Далее HTMLDocument=HTML.documentElement.document - тута мы получаем элементы документа верно? Table=HTMLDocument.getElementsByTagName("Table")- саму таблицу с таким именем. obj=Table.Item(1) - это че ? и количество строк КоличествоСтрок=Цел((obj.cells.length-1)/4) - почему так? и как в цикле у строки еще колонки выделять чтобы в таблицу значений перекинуть это? |
|||
5
Wobland
08.11.11
✎
14:55
|
1) ф - файл, полученный методом Получить()
2) да 3) table - имя тэга 4) типа второй элемент массива (то есть нужная мне таблица) 5) массив ячеек одномерный, поэтому так.значение второй колонки: Наименование=СокрЛП(obj.cells(i*4+1).innerText); |
|||
6
Rizhij_Nikitos
08.11.11
✎
15:03
|
Тык я получаю файл таким образом, ниже код просто тестил, щас работал через прокси, данные я уже получаю в html файл.
СерверИсточник = "www.cennic-etiketka.ru"; Адрес = "/demo/news?show_id=175"; ИмяВходящегоФайла = "C:\1.html"; ПроксиСервер = Новый ИнтернетПрокси; ПроксиСервер.Пользователь = "bogoslovskym"; ПроксиСервер.Пароль = "klmnbuka"; ПроксиСервер.Установить("HTTP","192.168.1.3","8080"); HTTP = Новый HTTPСоединение(СерверИсточник,,,,ПроксиСервер); HTTP.Получить(Адрес,ИмяВходящегоФайла); ВходящийФайл = Новый Файл(ИмяВходящегоФайла); Сообщить(ВходящийФайл.Размер()); |
|||
7
Rizhij_Nikitos
08.11.11
✎
15:04
|
html.open -я думал тута надо открывать полученный свой html докумен в моем случае это будет
htmp.open(@C:\1.html"); |
|||
8
Wobland
08.11.11
✎
15:05
|
опену надо текст, а не файл. плюс у меня ф=Новый ТекстовыйДокумент;
|
|||
9
Rizhij_Nikitos
08.11.11
✎
15:19
|
Стоп я тогда вообще не правильно понял. Вот смотри у меня есть файл "C:\1.html", он html документ, теперь мне его надо прочитать. Следуя по твоему коду я пишу следующее
//создаю объект HTML=Новый COMОбъект("HTMLFile"); HTML.Open("C:\1.html"); //не знаю какой текст брать текст = Новый ТекстовыйДокумент; Текст.Прочитать("C:\1.html"); HTML.Write(Текс.ПолучитьТекст()); HTMLDocument = HTML.documentElement.document; //ищем tag с названием Table Table=HTMLDocument.getElementsByTagName("Table"); //почему второй элемент массива, а не первый obj=Table.Item(1); //это количество строка длина поделить на количество столбцом x,надеюсь правильно КоличествоСтрок=Цел((obj.cells.length-1)/x); // тута начало цикла чтения Для i=1 По КоличествоСтрок Цикл //читаем какой столбец колонки? x-вый да? Наименование=СокрЛП(obj.cells(i*x+1).innerText); КонецЦикла; |
|||
10
Rizhij_Nikitos
08.11.11
✎
15:20
|
Посмотри и скажи где ошибки, а где все правильно понял.
|
|||
11
Rizhij_Nikitos
08.11.11
✎
15:28
|
HTML.Open("text/html") - я так понял это <META content="text/html; charset=utf-8" http-equiv=Content-Type><LINK rel=stylesheet type=text/css href="/content/css/styles.css">
|
|||
12
andrewks
08.11.11
✎
15:30
|
(3) нахрена ты извращаешься с htmlfile, когда можно напрямки как хмл разбирать?
|
|||
13
Rizhij_Nikitos
08.11.11
✎
15:37
|
Тык я данные в html луплю, а разница есть между xml и html или же нет?
|
|||
14
Rizhij_Nikitos
08.11.11
✎
15:52
|
Вверх!
|
|||
15
acsent
08.11.11
✎
15:56
|
Есть объект ЧтениеHTML
|
|||
16
Rizhij_Nikitos
08.11.11
✎
15:58
|
А как с ним работать? и что он делает?
|
|||
17
acsent
08.11.11
✎
15:59
|
Тоже самое что и ЧтениеXML
|
|||
18
Rizhij_Nikitos
08.11.11
✎
16:07
|
Хм, еще бы знать, как там работается ...
|
|||
19
Rizhij_Nikitos
08.11.11
✎
16:16
|
а еще лучше примеры хотя бы какие нибудь.
|
|||
20
Rizhij_Nikitos
08.11.11
✎
16:17
|
(3) кстати пробывал HTMLDocument.getElementsByTagName("HEAD").Length выдавало 1, хотя если HTMLDocument.HEAD.ChildNotes.Length то выдает 3, по факту там 3 строки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |