powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xpath - помогите, не силён. пример внутри
6 сообщений из 6, страница 1 из 1
xpath - помогите, не силён. пример внутри
    #37737173
ura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<root>
  <cell/> <!--первая ячейка-->
  <cell index="4"/> <!--четвёртая ячейка-->
  <cell/> <!--пятая ячейка-->
  <cell index="10"/> <!--десятая ячейка-->
  <cell/> <!--одинадцатая ячейка-->
  <cell/> <!--двенадцатая ячейка-->
  <cell>value</cell> <!--тринадцатая ячейка-->
</root>



Задача - найти значение тринадцатой ячейки. Возможны пропуски элементов cell. Атрибут index может отсутствовать. Если он отсутствует - ячейки идут по порядку, начиная от элемента с index.

Алгоритм поиска следующий:
Ищем элемент cell вверх c непустым атрибутом index. Запоминаем его значение в счётчик и далее вниз, пока значение счётчика не станет равно 13.
Немного сумбурно объяснил, но, надеюсь, из примера будет всё понятно
...
Рейтинг: 0 / 0
xpath - помогите, не силён. пример внутри
    #37737364
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ura, XPath это обязательное условие? XSL шаблон не подойдет?
...
Рейтинг: 0 / 0
xpath - помогите, не силён. пример внутри
    #37737438
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищем элемент cell вверх c непустым атрибутом index. Запоминаем его значение в счётчик и далее вниз, пока значение счётчика не станет равно 13.А если при поиске вверх первым окажется индекс 130? Идти вниз тогда не имеет смысла.

Нужно найти первый элемент с индексом меньше заданного с сортировкой по индексу по убыванию, а от него отсчитать недостающее количество сиблингов. И да, на чистом xpath задачу, пожалуй, не решить.
...
Рейтинг: 0 / 0
xpath - помогите, не силён. пример внутри
    #37738390
ura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_ura, XPath это обязательное условие? XSL шаблон не подойдет?
не пойдёт, xslt я и сам неплохо знаю. Но задача для mssql. А там с этим не густо. Хотя есть у меня сборка для этого, но хотелось бы обойтись без неё

AntonariyА если при поиске вверх первым окажется индекс 130? Идти вниз тогда не имеет смысла.
Нужно найти первый элемент с индексом меньше заданного с сортировкой по индексу по убыванию, а от него отсчитать недостающее количество сиблингов. И да, на чистом xpath задачу, пожалуй, не решить.
да, я это и имел в виду
...
Рейтинг: 0 / 0
xpath - помогите, не силён. пример внутри
    #37738437
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uraНо задача для mssql. А там с этим не густо.
Ну тогда нет проблем. Там это и не надо.
Переливаем все содержимое из xml во временную таблицу, снабженную полем с identity, дальше решаем задачу чисто на tsql.
...
Рейтинг: 0 / 0
xpath - помогите, не силён. пример внутри
    #37738568
ura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyuraНо задача для mssql. А там с этим не густо.
Ну тогда нет проблем. Там это и не надо.
Переливаем все содержимое из xml во временную таблицу, снабженную полем с identity, дальше решаем задачу чисто на tsql.
А что, тоже вариант, спасибо. Правда, приведённый тут пример сильно упрощён, но решить можно, если с xpath не судьба
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xpath - помогите, не силён. пример внутри
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]