Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Alex-65 Member Откуда: Сообщений: 28 |
Уважаемые форумчане, научите как разобрать вот такой XML:
надо получить несколько записей в полях "purchaseObject/OKPD/code", "purchaseObject/OKPD/name", "purchaseObject/price" что-то типа:
|
|
30 мар 15, 23:24 [17452348] Ответить | Цитировать Сообщить модератору |
churupaha Member Откуда: Краснодар Сообщений: 1015 |
Alex-65,
declare @hd int; exec sp_xml_preparedocument @hd output, @d, '<root xmlns:ns2="http://zakupki.gov.ru/oos/export/1" xmlns:ns1="http://zakupki.gov.ru/oos/types/1" />' select t.* from openxml(@hd, N'/ns2:export/ns2:fcsNotificationEF/ns1:lot/ns1:purchaseObjects/ns1:purchaseObject', 1) with ( code varchar(100) './ns1:OKPD/ns1:code', name nvarchar(max) './ns1:OKPD/ns1:name', price decimal './ns1:price' ) t; exec sp_xml_removedocument @hd; |
|
30 мар 15, 23:47 [17452402] Ответить | Цитировать Сообщить модератору |
churupaha Member Откуда: Краснодар Сообщений: 1015 |
+ можно было и query/nodes/value, но если XML большой, то будет очередная тема ps. если xml > 2Gb, то SQLXML Bulk Load |
30 мар 15, 23:52 [17452411] Ответить | Цитировать Сообщить модератору |
Alex-65 Member Откуда: Сообщений: 28 |
churupaha, а без sp_xml_preparedocument никак нельзя? |
30 мар 15, 23:59 [17452427] Ответить | Цитировать Сообщить модератору |
churupaha Member Откуда: Краснодар Сообщений: 1015 |
Alex-65, можно, ссылки вверху |
31 мар 15, 00:02 [17452433] Ответить | Цитировать Сообщить модератору |
felix_ff Member Откуда: Moscow Сообщений: 1692 |
|
|||
31 мар 15, 00:11 [17452457] Ответить | Цитировать Сообщить модератору |
Alex-65 Member Откуда: Сообщений: 28 |
churupaha, Спасибо! |
31 мар 15, 00:23 [17452471] Ответить | Цитировать Сообщить модератору |
Alex-65 Member Откуда: Сообщений: 28 |
felix_ff, Коллега Felix - отдельный поклон! |
31 мар 15, 00:24 [17452473] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |