|
ЭлементHTML - как из него получить полный HTML-текст? | ☑ | ||
---|---|---|---|---|
0
zyto
06.02.17
✎
22:52
|
Делаю парсинг сайта, читаю через ПостроительDOM.
Добрался до нужного элемента, в нём содержится описание товара. Как получить это описание в формате HTML, ну т.е. что бы сохранились оформление, стили и т.д. Надо получить что-то в этом духе: <p>Первый <strong>Абзац</strong></p> <p>Второй абзац</p> Если я сделаю ЭлементHTML.ТекстовоеСодержимое - то получу "чистый" текст, без разметки, типа так: Первый Абзац Второй абзац Как получить полный код? |
|||
1
Лефмихалыч
06.02.17
✎
22:55
|
ТекстHTML?
|
|||
2
zyto
06.02.17
✎
22:57
|
(1)Вроде нет такого ни свойства ни метода у ЭлементHTML, либо я не правильно понял
|
|||
3
Лефмихалыч
06.02.17
✎
22:57
|
мне лень конфигуратор открывать :)
|
|||
4
jsmith82
06.02.17
✎
23:00
|
innerHTML?
|
|||
5
zyto
06.02.17
✎
23:03
|
(4)Вот надо что-то в этом духе, только для ЭлементHTML (innerHTML вроде работает для ПолеHTMLДокумента или что-то в этом духе, когда идёт работа с СОМ-объектом браузера)
|
|||
6
Юрий Лазаренко
06.02.17
✎
23:03
|
(0) Ешкин кот, ну так тормозни отладчиком код в нужной строке и исследуй свой элемент через F9. На английском это свойство элемента называется как сказано в (4).
|
|||
7
Юрий Лазаренко
06.02.17
✎
23:04
|
Нет, оно работает для любого элемента DOM.
|
|||
8
Юрий Лазаренко
06.02.17
✎
23:04
|
(7) -> (5)
|
|||
9
zyto
06.02.17
✎
23:05
|
(7)Если бы всё было так просто я бы не полез на форум :)
http://screenshot.su/img/89/49/a8/8949a81ffc9cc0ecb52a6db6632e712b.jpg |
|||
10
Юрий Лазаренко
06.02.17
✎
23:09
|
(9) Сорян, был неправ. Возможно, это метод и в отладчике он не виден.
Но DOM есть DOM, и этот метод точно есть и точно у каждого элемента. Но я сейчас на планшете, в конфе посмотреть не могу. |
|||
11
Юрий Лазаренко
06.02.17
✎
23:15
|
ПолучитьТекст() попробуй
|
|||
12
zyto
06.02.17
✎
23:21
|
Похоже нативно 1С такого не умеет, но можно выкрутится так:
Функция innerHTML(ЭлементHTML) ЗаписьDOM = Новый ЗаписьDOM; ЗаписьHTML = Новый ЗаписьHTML; ЗаписьHTML.УстановитьСтроку(); Для Каждого Стр из ЭлементHTML.ДочерниеУзлы Цикл ЗаписьDOM.Записать(Стр, ЗаписьHTML); КонецЦикла; Возврат ЗаписьHTML.Закрыть(); КонецФункции |
|||
13
zyto
06.02.17
✎
23:22
|
Всем спасибо за помощь!
Если кто подскажет более "красивое" решение буду благодарен |
|||
14
Юрий Лазаренко
06.02.17
✎
23:27
|
(13) Вот, тоже только что прочитал, что 1С эти методы обрезала. Даже предположить такое не мог, потому что при разработке на яваскрипте этим пользоваться приходится очень часто. Могли бы сделать хотя бы для чтения.
Вот нашел вариант решения в интернете: http://oparin.info/1c/innerhtml-i-outerhtml-dlya-elementov-dokumenthtml |
|||
15
zyto
06.02.17
✎
23:28
|
(14)Угу, я тоже там нашёл :) благодарю за помощь!
|
|||
16
zyto
06.02.17
✎
23:28
|
...в моём случае правильнее использовать outerHTML...
|
|||
17
Юрий Лазаренко
06.02.17
✎
23:29
|
(15) Да не за что, я ж и не помог по факту. Наоборот - сам узнал что-то новое.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |