Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.10.2012, 20:43
Аватар для DeOne
DeOne DeOne вне форума
Новичок
 
Регистрация: 24.09.2012
Сообщения: 86
Версия Delphi: 7
Репутация: 10
По умолчанию Нужно спарсить...

<select name="bday"><option value="0">--</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27" selected="selected">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select>

Число 27, которое находится между слов красно выделенным цветом. нужно спарсить, но выше есть строки selected="selected"> и </option>, и парсятся значения между ними,как сделать?
__________________
Только учусь Delphi...

Последний раз редактировалось DeOne, 18.10.2012 в 20:47.
Ответить с цитированием
  #2  
Старый 18.10.2012, 21:22
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В приведенном примере - нету таких строк. Только один вариант.
А вообще, проще построить DOM и просто по нему пройтись.
Ответить с цитированием
  #3  
Старый 18.10.2012, 21:24
Аватар для DeOne
DeOne DeOne вне форума
Новичок
 
Регистрация: 24.09.2012
Сообщения: 86
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
В приведенном примере - нету таких строк. Только один вариант.
А вообще, проще построить DOM и просто по нему пройтись.
Не буду же я весь код выкладывать.

Что это ? Можно подробней ?
__________________
Только учусь Delphi...
Ответить с цитированием
  #4  
Старый 19.10.2012, 01:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

mshtml. создаешь объект, загружаешь в него страницу. Он строит дерево. Дальше просто идешь по этому дереву, находишь нужный контрол, далее роешься в его подитемах.
Это если кратко. примеры - гугл, вроде, еще работает.
Ответить с цитированием
  #5  
Старый 20.10.2012, 15:48
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Автор, нужны подробности! Тебе нужно спарсить все числа между выделенными фрагментами (по всему коду)? Или только это число? Если только это, то чем оно примечательно? Ну... как ты сам определяешь, что нужно именно оно? По нэйму? Если да, то lmikle прав на счет ДОМа.
Ну а так же можно использовать компонент XMLDocument, хотя суть его работы такая же.

А вообще, раз ты смог выделить число между красными фрагментами, то тебе не составит труда выдрать текст между <select name="bday"> и </select>, а оттуда уже дергать свое число между красными фрагментами.

Последний раз редактировалось morebeauty, 20.10.2012 в 15:50.
Ответить с цитированием
  #6  
Старый 21.10.2012, 11:06
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию

А так не будет разве пахать:
Код:
(?:\<select name\="bday"\>)(?:.*?\<option value\="\d+?" selected\="selected"\>)(\d+?)(?:\<\/option\>.*?)(?:\<\/select\>)
По моему тут обычной регуляркой можно обойтись.
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
  #7  
Старый 21.10.2012, 11:09
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Цитата:
Сообщение от ~TB~
А так не будет разве пахать:
Код:
(?:\<select name\="bday"\>)(?:.*?\<option value\="\d+?" selected\="selected"\>)(\d+?)(?:\<\/option\>.*?)(?:\<\/select\>)
По моему тут обычной регуляркой можно обойтись.
автор весь текст показывать не хочет
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter