powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Xpath count
22 сообщений из 22, страница 1 из 1
Xpath count
    #39408472
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех. Есть в базе firebird таблица с полем blob sub_type 1segment size 80 в этом поле хранится строка в формате xml
Код: xml
1.
2.
3.
4.
5.
6.
<doc STARTDATE="01.07.2014" ENDDATE="01.01.2033" PLANGROUP_ID="1135811" DOC_NUM="1" ZIP="&#209;&#224;&#237;&#234;&#242;-&#207;&#229;&#242;&#229;&#240;&#225;&#243;&#240;&#227;" Street="&#239;&#235;. &#202;&#238;&#237;&#241;&#242;&#232;&#242;&#243;&#246;&#232;&#232;" House="&#228;. 2">
<Numbers>
<Num CONNECT_TYPES="1-5" STARTDATE="01.07.2014" ENDDATE="01.01.2033" NUM_ID="8123319492" PERIOD_PRICE="540" CITY_PRICE="0" COMMENT="&#195;&#238;&#235;&#238;&#241;&#238;&#226;&#224;&#255; &#241;&#226;&#255;&#231;&#252;" NUM_TYPE="&#195;&#205;"/>
</Numbers>
<DR/><LL/><PD/></doc> 
 


Выполняю запрос
Код: sql
1.
2.
3.
4.
5.
select   xpath(xml,'count(doc/Numbers/Num)')
from    cust_docs
where
cust_id = 1134819
  


запрос ничего не возвращает , на тестовых сайтах для xpath с данным xml возвращает значение 1, уже как только не пробовал не могу понять в чем прикол.
...
Рейтинг: 0 / 0
Xpath count
    #39408480
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wepr,

Код: sql
1.
2.
3.
4.
select   *
from    cust_docs
where
cust_id = 1134819



в этот запрос что-нибудь возвращает?
...
Рейтинг: 0 / 0
Xpath count
    #39408483
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wepr
Код: sql
1.
xpath(xml,'count(doc/Numbers/Num)')


Откуда информация, что такой синтаксис поддерживается?

Немного возможностей описано тут http://www.ibase.ru/xmldb/
Ну и тут в разделе есть несколько тем по udf xpath.
...
Рейтинг: 0 / 0
Xpath count
    #39408499
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторСимонов Денис
Да возвращает 5 строк

авторwadman

Ну на форумах есть куча примеров правда для xpath sql c count, для firberd не могу найти, вытащить атрибут или выборка по нужному атрибуту не вызывает проблем
...
Рейтинг: 0 / 0
Xpath count
    #39408504
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неверно выразился верхний запрос тоже возвращает пять строк , только пустых
...
Рейтинг: 0 / 0
Xpath count
    #39408515
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wepr, не совсем понятно, что именно ты хочешь получить - сумму значений атрибутов Num или количество элементов Num в Numbers.
Может тебе это надо?:
Код: sql
1.
2.
3.
SELECT Sum(Cast(xpath(xml,'count(doc/Numbers/Num)') AS INTEGER))
  FROM cust_docs
  WHERE cust_id = 1134819
...
Рейтинг: 0 / 0
Xpath count
    #39408521
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мипардон! Если Num - атрибут, то как-то так:
Код: sql
1.
2.
3.
SELECT Sum(Cast(xpath(xml,'count(doc/Numbers/@Num)') AS INTEGER))
  FROM cust_docs
  WHERE cust_id = 1134819
...
Рейтинг: 0 / 0
Xpath count
    #39408522
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_devWepr, не совсем понятно, что именно ты хочешь получить - сумму значений атрибутов Num или количество элементов Num в Numbers.




Проблема в том, что xpath(xml,'count(doc/Numbers/Num)') вообще ничего не возвращает, мне нужно проверить наличие этого тега и я понять не могу может у FireBird есть ограничение на использование xpath или может xpath не нравится поле blob где лежит эта строка
...
Рейтинг: 0 / 0
Xpath count
    #39408525
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wepr, я забыл убрать count
Что именно надо получить? Дай словесное описание.
...
Рейтинг: 0 / 0
Xpath count
    #39408532
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wepr, Num, это что? Элемент или атрибут?
...
Рейтинг: 0 / 0
Xpath count
    #39408551
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_dev,
Num элемент пример xml в самом верху
...
Рейтинг: 0 / 0
Xpath count
    #39408559
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_dev
мне нужно проверить наличие этого элемента в дереве и их количество, задача проверить у Элемента Numbers наличие элементов Num и их количество
...
Рейтинг: 0 / 0
Xpath count
    #39408572
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wepr, остается вариант, что у тебя всё правильно, а функция count не поддерживается в данной реализации UDF функции xpath
...
Рейтинг: 0 / 0
Xpath count
    #39408575
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_dev,

ок спасибо
...
Рейтинг: 0 / 0
Xpath count
    #39408582
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wepr, если библиотека поддерживает фильтры [], можно попробовать подсчитать количество элементов Num вручную в ХП.
...
Рейтинг: 0 / 0
Xpath count
    #39408618
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_dev,

Нубский вопрос , как проверить в ib expert что за библиотеки подключены и их версии
...
Рейтинг: 0 / 0
Xpath count
    #39408666
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Weprкак проверить
Какие подключены - в списке объявленных UDF. Версии - никак.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Xpath count
    #39408888
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wepr, зайти в подкаталог с udf библиотеками и посмотреть свойства библиотеки? Можно с помощью CFF Explorer.
...
Рейтинг: 0 / 0
Xpath count
    #39408973
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_dev,
спасибо
...
Рейтинг: 0 / 0
Xpath count
    #39409193
Wepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один вопрос , как вытащить из blob xml , напрямую select не вытаскивает,
Код: sql
1.
2.
3.
4.
SELECT      cust_docs.*,
    SUBSTRING(xml FROM 1 FOR 32000) AS VARCHAR(32000)) AS myblobfield
FROM        cust_docs   where
cust_id = 1134819


сильно тупит а на стороне клиента тоже фигню получает
...
Рейтинг: 0 / 0
Xpath count
    #39409199
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Weprсильно тупит а на стороне клиента тоже фигню получает http://www.ibase.ru/ibfaq/#blob
...
Рейтинг: 0 / 0
Xpath count
    #39409364
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Weprсильно тупит а на стороне клиента тоже фигню получает
описание проблем просто очешуительное.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Xpath count
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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