Как получить не теги из HTML
От: Alexander_S_U https://github.com/alexanders-code/cmdxmlinstaller
Дата: 17.11.04 15:28
Оценка:
Как получить строки из html не явл тегами например такой фрагмент

<HR>
Как получить этиу строку
<HR>

Как взять строку между тегами <HR> Я получаю коллекцию элементов, но эта строка не имеет тега и не попадает в коллекцию. Как получать такие строки?
https://github.com/alexanders-code/cmdxmlinstaller
Re: Как получить не теги из HTML
От: AndrewJD США  
Дата: 17.11.04 15:48
Оценка:
Здравствуйте, Alexander_S_U, Вы писали:

A_S>Как получить строки из html не явл тегами например такой фрагмент


A_S><HR>

A_S>Как получить этиу строку
A_S><HR>

A_S>Как взять строку между тегами <HR> Я получаю коллекцию элементов, но эта строка не имеет тега и не попадает в коллекцию. Как получать такие строки?


Попробуй IHTMLDOMNode интерфейс и все сним связанное
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re: Как получить не теги из HTML
От: IlyaPotekhin Россия  
Дата: 18.11.04 05:15
Оценка:
Здравствуйте, Alexander_S_U, Вы писали:

A_S>Как получить строки из html не явл тегами например такой фрагмент


A_S><HR>

A_S>Как получить этиу строку
A_S><HR>

A_S>Как взять строку между тегами <HR> Я получаю коллекцию элементов, но эта строка не имеет тега и не попадает в коллекцию. Как получать такие строки?


Я не понял до конца, но если тебе надо весь текст из HTML выдернуть используй Indexing Service.
Re[2]: Как получить не теги из HTML
От: Кодёнок  
Дата: 18.11.04 05:27
Оценка:
A_S>>Как получить строки из html не явл тегами например такой фрагмент

A_S>><HR>

A_S>>Как получить этиу строку
A_S>><HR>

A_S>>Как взять строку между тегами <HR> Я получаю коллекцию элементов, но эта строка не имеет тега и не попадает в коллекцию. Как получать такие строки?


IP>Я не понял до конца, но если тебе надо весь текст из HTML выдернуть используй Indexing Service.


Почитай w3c или msdn по поводу "DOM" (XML/HTML Document Object Model). Это самые элементарные интерфейсы, представляющие XML-дерево. В частности, подобная строка представлена там отдельным объектом типа "просто текст" Отрицательная сторона такая, что каждый комментарий посередине этого текста — тоже будет отдельный объект.

А вообще, если ты подробнее опишешь задачу, то может лучшее решение будет совсем не таким
Re[3]: Как получить не теги из HTML
От: Alexander_S_U https://github.com/alexanders-code/cmdxmlinstaller
Дата: 18.11.04 08:25
Оценка:
Здравствуйте, Кодёнок, Вы писали:

A_S>>>Как получить строки из html не явл тегами например такой фрагмент


A_S>>><HR>

A_S>>>Как получить этиу строку
A_S>>><HR>

A_S>>>Как взять строку между тегами <HR> Я получаю коллекцию элементов, но эта строка не имеет тега и не попадает в коллекцию. Как получать такие строки?


IP>>Я не понял до конца, но если тебе надо весь текст из HTML выдернуть используй Indexing Service.


Кё>Почитай w3c или msdn по поводу "DOM" (XML/HTML Document Object Model). Это самые элементарные интерфейсы, представляющие XML-дерево. В частности, подобная строка представлена там отдельным объектом типа "просто текст" Отрицательная сторона такая, что каждый комментарий посередине этого текста — тоже будет отдельный объект.


Спасибо уже читаю

Кё>А вообще, если ты подробнее опишешь задачу, то может лучшее решение будет совсем не таким


А задача такая, открытый в IE html документ нужно загнать в list, для последующего разбора, элементы списка это строки содержащие теги которые не имеют дочерних элементов, это я все получаю из коллекций элементов, а если встреч элемент не тег (как в примере) его тоже нужно отправить в list.
https://github.com/alexanders-code/cmdxmlinstaller
Re[4]: Как получить не теги из HTML
От: Кодёнок  
Дата: 18.11.04 09:44
Оценка: 2 (1)
Ну тогда тебе повезло! Есть такой метод, IHTMLElement2::getAdjacentText() — работает именно так как тебе нужно.

ActivePython 2.3.2 Build 231 (ActiveState Corp.) based on
Python 2.3.2 (#49, Nov  6 2003, 10:18:20) [MSC v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import win32com.client
>>> ie = win32com.client.Dispatch("internetexplorer.application")
>>> ie.Navigate2("about:hey<HR>how<HR>wow")
>>> ie.Document.all.tags("HR")[1].getAdjacentText("beforeBegin")
u'how'
>>> ie.Document.all.tags("HR")[1].getAdjacentText("afterEnd")
u'wow'
>>>


Для элементов типа <HR> только эти два работает, остальные два (afterBegin и beforeEnd) вызывают ошибку.

A_S>>>><HR>

A_S>>>>Как получить этиу строку
A_S>>>><HR>

A_S>А задача такая, открытый в IE html документ нужно загнать в list, для последующего разбора, элементы списка это строки содержащие теги которые не имеют дочерних элементов, это я все получаю из коллекций элементов, а если встреч элемент не тег (как в примере) его тоже нужно отправить в list.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.