powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / xml.value вложенные значения
3 сообщений из 3, страница 1 из 1
xml.value вложенные значения
    #39645211
gnatochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер, помогите пожалуйста с запросом.
Есть xml вида

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Declare @xml XML

SET @xml = 
'<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" 
xmlns:xbrldi="http://xbrl.org/2006/xbrldi" 
xmlns:dim-int="http://www.cbr.ru/xbrl/udr/dim/dim-int" >
<xbrli:context id="A175">
	<xbrli:entity>
		<xbrli:identifier scheme="http://www.cbr.ru">0000000000000</xbrli:identifier>
	</xbrli:entity>
	<xbrli:period>
		<xbrli:instant>2018-01-01</xbrli:instant>
	</xbrli:period>
	<xbrli:scenario>
		<xbrldi:explicitMember dimension="dim-int:Dz_DataAxis">mem-int:SredstvaNaxodUProfUchRynkaCzenBumagMember</xbrldi:explicitMember>
		<xbrldi:typedMember dimension="dim-int:IdAifPifTaxis"><dim-int:IdAifPif_TypedName>ПИФ</dim-int:IdAifPif_TypedName></xbrldi:typedMember>
	</xbrli:scenario>
</xbrli:context>
<xbrli:context id="A176">
	<xbrli:entity>
		<xbrli:identifier scheme="http://www.cbr.ru">0000000000000</xbrli:identifier>
	</xbrli:entity>
	<xbrli:period>
		<xbrli:instant>2018-01-01</xbrli:instant>
	</xbrli:period>
	<xbrli:scenario>
		<xbrldi:explicitMember dimension="dim-int:Dz_DataAxis">mem-int:SredstvaNaxodUProfUchRynkaCzenBumagMember1</xbrldi:explicitMember>
		<xbrldi:typedMember dimension="dim-int:IdAifPifTaxis"><dim-int:IdAifPif_TypedName>qwe</dim-int:IdAifPif_TypedName></xbrldi:typedMember>
	</xbrli:scenario>
</xbrli:context>
</xbrli:xbrl>
'



Хочу считать в таблицу данные в виде
text typeA175mem-int:SredstvaNaxodUProfUchRynkaCzenBumagMemberA176 mem-int:SredstvaNaxodUProfUchRynkaCzenBumagMember1

т.е. во второй столбец только данные с @dimension="dim-int:Dz_DataAxis"

Запрос
Код: sql
1.
2.
3.
4.
5.
;WITH XMLNAMESPACES ('http://www.xbrl.org/2003/instance' as xbrli, 'http://www.cbr.ru/xbrl/nso/uk/dic2' as [xbrldi], 'http://www.cbr.ru/xbrl/nso/uk/dic3' as [dim-int])
select  
 t.c.value('(@id)', 'nvarchar(100)') as [text]
  ,  t.c.query('xbrli:scenario').value('(xbrldi:explicitMember[@dimension="dim-int:Dz_DataAxis"]/text())[1]', 'nvarchar(100)') as [type]
from    @xml.nodes('xbrli:xbrl/xbrli:context') as t(c)



выдает
text typeA175A176

Если считывать с точкой
Код: sql
1.
2.
3.
4.
;WITH XMLNAMESPACES ('http://www.xbrl.org/2003/instance' as xbrli, 'http://www.cbr.ru/xbrl/nso/uk/dic2' as [xbrldi], 'http://www.cbr.ru/xbrl/nso/uk/dic3' as [dim-int])
select t.c.value('(@id)', 'nvarchar(100)') as [text]
 ,  t.c.query('xbrli:scenario').value('.', 'nvarchar(100)') as [type]
from    @xml.nodes('xbrli:xbrl/xbrli:context') as t(c)



Выдает без пробелов из всех строк
texttypeA175mem-int:SredstvaNaxodUProfUchRynkaCzenBumagMemberПИФA176mem-int:SredstvaNaxodUProfUchRynkaCzenBumagMember1qwe
...
Рейтинг: 0 / 0
xml.value вложенные значения
    #39645224
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Схемы нужно указывать как в документе, а не как попало.
Код: sql
1.
2.
3.
4.
5.
6.
with xmlnamespaces ('http://www.xbrl.org/2003/instance' as xbrli, 'http://xbrl.org/2006/xbrldi' as xbrldi)
select  
 t.c.value('@id', 'nvarchar(100)') as [text],
 t.c.value('(xbrli:scenario/xbrldi:explicitMember[@dimension = "dim-int:Dz_DataAxis"]/text())[1]', 'nvarchar(100)') as [type]
from
 @xml.nodes('xbrli:xbrl/xbrli:context') as t(c);
...
Рейтинг: 0 / 0
xml.value вложенные значения
    #39645246
gnatochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / xml.value вложенные значения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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