Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / XPATH. Атрибуты и значения узлов. / 3 сообщений из 3, страница 1 из 1
10.09.2020, 13:12
    #39997241
Bobby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XPATH. Атрибуты и значения узлов.
Всем доброго дня!
Есть, к примеру, вот такой XML (поле Properties типа XML в таблице):
Код: xml
1.
2.
3.
4.
5.
6.
7.
</properties>
  <property key="MachineName">ASPID</property>
  <property key="ProcessId">3224</property>
  <property key="ThreadId">1</property>
  <property key="BuildConfig">DeployAspid</property>
  <property key="ServiceWorkCycle">2020-08-26T11:41:36</property>
</properties>



вот таким запросом я получаю список названий атрибутов:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT 
       T.doc.value('.', 'nvarchar(max)') as ElementAttribute 
FROM sys_log2 
CROSS APPLY
Properties.nodes('properties//@*[1]') AS T(doc)
WHERE T.doc.value('.', 'nvarchar(max)') <> ''


Подскажите, плз, как вместе с названием атрибута еще и получить значение узла, чтоб на выходе было:
MachineName ASPID
ProcessId 3224
.......
Заранее благодарен!
...
Рейтинг: 0 / 0
10.09.2020, 13:24
    #39997245
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XPATH. Атрибуты и значения узлов.
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT 
       T.doc.value('@*[1]', 'nvarchar(max)') as ElementAttribute,
       T.doc.value('.', 'nvarchar(max)') as Value  
FROM sys_log2 
CROSS APPLY
Properties.nodes('properties//*') AS T(doc)
WHERE T.doc.value('.', 'nvarchar(max)') <> ''
...
Рейтинг: 0 / 0
10.09.2020, 14:21
    #39997277
Bobby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XPATH. Атрибуты и значения узлов.
Konst_One,
Огромное спасибо!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / XPATH. Атрибуты и значения узлов. / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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