|
Как работать с html документом? | ☑ | ||
---|---|---|---|---|
0
breezee
16.01.16
✎
23:29
|
Как работать с html документом - как его полностью прочитать, или хотя бы как скопировать весь текст из него и работать как со строкой? Подскажите, где методическую информацию взять, в СП нет такого. Там 3 метода без общего примера.
|
|||
1
arccos6pi
16.01.16
✎
23:34
|
(0) ЧтениеHTML + ПостроительDOM
или читать как текстовый файл |
|||
2
breezee
17.01.16
✎
00:35
|
Не могу найти примеры как обходить ДеревоDOM
Вот у меня есть документ HTML. Создаю обход. Как с ним дальше работать? Обход = обДокументHTML.СоздатьОбходДерева(обДокументHTML.Тело); Если конкретней - мне нужно найти тэг <span class="Quest"> Вложенные в него <span class="Ans">, все что вложено в них и среди них найти еще элемент в теге <b></b> |
|||
3
breezee
17.01.16
✎
00:36
|
Да, платформа 8.3
|
|||
4
breezee
17.01.16
✎
00:44
|
ап
|
|||
5
breezee
17.01.16
✎
00:57
|
Обход = обДокументHTML.СоздатьОбходДерева(обДокументHTML.Тело);
тУзел = Обход.ТекущийУзел; Пока тУзел <> Неопределено цикл тУзел = Обход.СледующийУзел(); КонецЦикла; Я как-то неправильно понял как осуществить обход? У мня весь текст в 1 узле, без разбития по тегам. В общем - можно как-то получить весь тест из html документа - с тегами и прочим? Просто так, как если бы его открыть в текстовом редакторе? |
|||
6
Asmody
17.01.16
✎
00:57
|
||||
7
Asmody
17.01.16
✎
00:59
|
||||
8
breezee
17.01.16
✎
01:10
|
(7)
Пишет что ВычислитьВыражениеXPath - метод не обнаружен. Да и вообще я ничерта не понял. Почему у всех узлов в тексте вообще весь текст, у все узлов - весь текст html документа. Ничерта не понимаю. Можно как-то просто скопировать вообще весь текст из html чтобы, он выглядел как сам html <head> <body> ... <body> </head> В строку. Я так понял что проще с ним как со строкой будет рабоать |
|||
9
Asmody
17.01.16
✎
01:14
|
(8) Код из (7) работает: я так отчеты мегафоновские разбираю.
|
|||
10
breezee
17.01.16
✎
01:20
|
(9) Ок, в любом случае мне проще строкой. У меня цикл по всем классам, потом вложенный по элементам класса и нужно отдельно выделить элемент, выделенный <b></b> HTML я так понял выглядит не так как её себе представлял - т.е. это не текст с тегами классов и прочими тегами, а каки-то узлы. В общем -проще работать со строкой текста из HTML, вот только как её получить я не понимаю
|
|||
11
breezee
17.01.16
✎
01:34
|
Пишет
Ошибка в выражении XPath Invalid expression Я же правильно понимаю что чтобы получить все между тегов я должен указать открывающую и закрывающую строку и между ними /../? ЧтениеHTML = Новый ЧтениеHTML; ЧтениеHTML.ОткрытьФайл(ИмяФайла, "UTF-8"); ПостроительDOM = Новый ПостроительDOM; ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML); ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку("UTF-8"); ЗаписьDOM = Новый ЗаписьDOM; ЗаписьDOM.Записать(ДокументHTML.Тело, ЗаписьXML); ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.УстановитьСтроку(ЗаписьXML.Закрыть()); ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML); Разименовыватель = Новый РазыменовательПространствИменDOM(ДокументDOM); ВыражениеXPath = "//span class=""BOvopros""/../</span>|//span class=""BOotvet""/../</span>"; |
|||
12
Asmody
17.01.16
✎
01:52
|
(11) Неправильно.
Отлаживать xpath можно вот этим http://catalog.mista.ru/public/352879/ Вот тут http://catalog.mista.ru/public/280340/ написано про синтаксис |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |