|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
Всем привет. Есть 2 запроса: Код: c# 1.
Отыскивает ноды, которые расположены после нужной мне Код: c# 1.
Отыскивает ноды, которые расположены перед нодой, которая находится сразу после ноды, нужной мне Можно ли составить XPATH запрос, который бы вывел пересечение множеств нод? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2014, 13:56 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
Если похожего результата можно добиться, создав промежуточный код, то тоже пишите ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2014, 14:21 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
Жентос, Первый запрос включает в себя все узлы второго запроса. Поэтому выполняйте второй запрос, как более строгий, и будет Вам счастье ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2014, 14:33 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
_Vasilisk_, счастья не будет, т.к. оба запроса получают много лищних данных, которые потом нужно парсить дополнительно. Одно дело, если мы парсим нужные нам данные, другое дело, когда мы парсим еще и данные, которые нам не нужны Возможно, я не с той стороны зашел. Есть таблица со структурой Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Соответсвенно, надо выбрать все города пользователя john.doe. Мне никак не приходит на ум запрос, который может вернуть строки, начиная от строки с емейлом нужного юзера, заканчивая строкой с емейлом следующего юзера ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2014, 14:44 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
Жентос, Вам, в итоге, нужно собрать информацию для КАЖДОГО пользователя? Или только для одного? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2014, 14:57 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
Жентос, И еще вопрос - это у Вас задача по XSL? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2014, 15:00 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
_Vasilisk_Жентос, Вам, в итоге, нужно собрать информацию для КАЖДОГО пользователя? Или только для одного? Для одного. Трудности такие: - таблица разнородная (в строке с емейлом 10 ячеек, в строке без емейла 5) - нет разметки для строк (ни id, ни стилей), только текст _Vasilisk_Жентос, И еще вопрос - это у Вас задача по XSL? Нет. Есть фреймворк, который выдает данные элементов по запросу XPath, попавших в выборку. Мне надо получить запросом все элементы <tr> из указанного диапазона, чтобы отдать их фреймворку ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2014, 15:24 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
Жентос, Код: xml 1.
Кажись так ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2014, 01:51 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
_Vasilisk_, я проверял, "|" работает как объединение :( Я решил задачу топорно. В теге <td> есть аттрибут RowSpan, а дальше можно уже работать прямыми запросами. Конечно, это не самое элегантное решение, но намного лучше прямого перебора всей таблицы (так реализовано сейчас, этот процесс может занимать минут 30 времени) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2014, 01:59 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
Жентос"|" работает как объединение :(Правильно. Вы проверяли мой код полностью? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2014, 04:11 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
Жентос, И еще правило, которое использую я сам, - если XML неудобно обрабатывать, то его нужно преобразовать, при помощи XSL, к удобной структуре. Но это на будущее. Сейчас же 16040296 должно сработать Жентос(так реализовано сейчас, этот процесс может занимать минут 30 времени)Вы чаще используйте оператор // Может быть достигните времени в час. Оператор // - это самый тормозной оператор и его нельзя использовать никогда . В крайнем случае, если структура недетерминирована (что бывает крайне редко), используют .// ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2014, 04:19 |
|
Найти пересечение результатов двух запросов
|
|||
---|---|---|---|
#18+
_Vasilisk_Жентос"|" работает как объединение :(Правильно. Вы проверяли мой код полностью? Да. Если присмотреться, то в первом посте топика есть 2 Xpath-запроса. Если их объединить через |, то получится Ваш запрос. Он возвращает всю таблицу, т.к. объединяются результаты выше и ниже строки с указанным емейлом. Это могло работать, если бы существовала операция пересечения результатов. Но такой операции, на сколько я уже знаю, нет. _Vasilisk_Жентос, И еще правило, которое использую я сам, - если XML неудобно обрабатывать, то его нужно преобразовать, при помощи XSL, к удобной структуре. Но это на будущее. Сейчас же 16040296 должно сработать У меня фреймворк-вегетарианец, он xsl не кушает. Перевоспитать его не получится, т.к. это dll без исходного кода _Vasilisk_Жентос(так реализовано сейчас, этот процесс может занимать минут 30 времени)Вы чаще используйте оператор // Может быть достигните времени в час. Оператор // - это самый тормозной оператор и его нельзя использовать никогда . В крайнем случае, если структура недетерминирована (что бывает крайне редко), используют .// Сайт на smart gwt, разработка ведется другой командой, так что структура действительно недетерминированна. А насчет часа вы преувеличиваете. Developer Tools выполняют запросы с "//" достаточно быстро, у фреймворка внутренние задержки больше, чем длительность такого поиска ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2014, 13:53 |
|
|
start [/forum/topic.php?fid=14&fpage=13&tid=1332361]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 231ms |
total: | 392ms |
0 / 0 |