Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг сложных тегов Html 
:(
    Опции темы
Alkash
Дата 7.4.2010, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Доброе время суток господа. Есть html страничка,  из неё надо выдернуть пару - ссылка - её разметка. Пробовал разными способами, через SgmlReader + xpath, через XmlDocument пробегаться по нодам, регулярками - никак не получается. 

Код

  <a class="some_cat_alph_l" href="/catalog.xml?hid=123456">многобуков</a> 


выше приведён пример разметки, в реальности - он спрятан ещё в кучу всяких div'ов и tr\td.

Каким образом можно выдернуть содержимое href="" и содержимое, обозначеное мной как "многобуков".
Заранее благодарен.



--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
wester
Дата 7.4.2010, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 4
Всего: 13



<a class="some_cat_alph_l" href="(?<name1>/[a-zA-Z?1-9/?=.]+)">(?<name2>\w+)</a> 
это паттерн 
обращаться типа так 

var variable = match.Groups["name1"].Value

где match есть 
var match = Regex.Match(source, @"<a class="some_cat_alph_l" href="(?<name1>/[a-zA-Z?1-9/?=.]+)">(?<name2>\w+)</a>")
PM MAIL   Вверх
Alkash
Дата 7.4.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



\w - нераспознаная управляющая последовательность-)

Буду ковырять дальше


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
wester
Дата 7.4.2010, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 4
Всего: 13



забыл.
надо было экранировать 
вот 
Код

var patt = @"<a class=""some_cat_alph_l"" href=""(?<name1>/[a-zA-Z?1-9/?=.]+)"">(?<name2>\w+)</a>";

PM MAIL   Вверх
Alkash
Дата 7.4.2010, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Спасиб, решено.


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.