|
XPath выбор элементов по имени и маске
|
|||
---|---|---|---|
#18+
Доброго вечера. Попался один интересный сайт для парсинга. Все нужные для выборки div'ы выделены атрибутом id="info123456", где 123456 — уникальный идентификатор блока данных. Соответственно все эти id заранее не известны! Структура данных такова, что кроме как по этому id данные вытащить можно только километровой регуляркой. Помогите составить XPath запрос так, чтобы он выдирал нужные блоки по части id, что-то типа «*[@id='info*']». Но данный вариант не работает =( Можно конечно сначала регуляркой выцепить все id, а потом в цикле выдирать из них нужные данные XPath'ем. То есть мой вопрос звучит так: можно ли в XPath использовать маски в именах селекторов для выдирания данных, зная только часть имени? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2011, 03:34 |
|
XPath выбор элементов по имени и маске
|
|||
---|---|---|---|
#18+
В который раз сам отвечаю на свой вопрос =) Помогло выражение «//*[starts-with(@id,'info')]», которое ищет все элементы, id которых начинается с «info». ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2011, 04:02 |
|
XPath выбор элементов по имени и маске
|
|||
---|---|---|---|
#18+
Верное решение:) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2011, 13:40 |
|
XPath выбор элементов по имени и маске
|
|||
---|---|---|---|
#18+
ШеншейВ который раз сам отвечаю на свой вопрос =) Помогло выражение «//*[starts-with(@id,'info')]», которое ищет все элементы, id которых начинается с «info». // - увы, очень дорогая операция, но от нее не избавиться. * - зачем, вы же сказали div итого, оптимизируем по максимуму: //div[@id and starts-with(@id,'info')] если для современных серверных трансформеров выигрыш будет в милисикунды, то при обработке DOM на JS все будет зависеть от того, чем пользователь это смотрит, мобильные пользователи вам скажут спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2011, 16:18 |
|
|
start [/forum/topic.php?fid=14&fpage=26&tid=1332852]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 133ms |
0 / 0 |