Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Распарсить XML и добавить в разные таблицы  [new]
vlad66666
Member

Откуда:
Сообщений: 2
День добрый, есть на входе XML
DECLARE @xml xml = '
<t1>
<t2>
<val>1</val>
<t3>10</t3>
<t3>20</t3>
</t2>
<t2>
<val>2</val>
<t3>10</t3>
</t2>
</t1>'

Как его распарсить и добавить значения в таблицы таким образом: где val в <t2> добавить в одну таблицу, где в <t3> в другую таблицу.
11 дек 18, 16:42    [21760573]     Ответить | Цитировать Сообщить модератору
 Re: Распарсить XML и добавить в разные таблицы  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5964
vlad66666,

Например, просто распарсить xml.

DECLARE @xml xml = '
<t1>
<t2>
<val>1</val>
<t3>10</t3>
<t3>20</t3>
</t2>
<t2>
<val>2</val>
<t3>10</t3>
</t2>
</t1>';

SELECT x.value('val[1]','varchar(20)') as xx FROM @xml.nodes('/t1/t2') as t(x)

SELECT x.value('.','varchar(20)') as xx FROM @xml.nodes('/t1/t2/t3') as t(x)
13 дек 18, 10:26    [21762523]     Ответить | Цитировать Сообщить модератору
 Re: Распарсить XML и добавить в разные таблицы  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5964
Если нужно что-то чуть более замороченное, то смотри примеры xquery с использованием flwor.
13 дек 18, 10:51    [21762553]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить