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

Откуда: Белгород
Сообщений: 458
Помогите пожалуйста вытащить значения из xml поля

Как вытащить значения из xml поля ?

Содержимое следующее:
автор
<?xml version="1.0"?>
<ns0:root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://111.ru/schema/Htm" xsi:schemaLocation="http://111.ru/schema/Htm.xsd">
<ns0:element id="name" type="text" name="" value="1" />
</ns0:root>


Пытаюсь сделать например вот:
select
cast(data as xml).value('(/root//element//item[@id="name"]/@value)[0]', 'nvarchar(max)') as n1
from table1

И никак, возвращается NULL
17 фев 14, 16:13    [15578200]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста вытащить значения из xml поля  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
with xmlnamespaces('http://111.ru/schema/Htm' as ns0)
select
 t.n.value('@id', 'nvarchar(max)')
from
 @x.nodes('ns0:root/ns0:element') t(n);

with xmlnamespaces(default 'http://111.ru/schema/Htm')
select
 t.n.value('@id', 'nvarchar(max)')
from
 @x.nodes('root/element') t(n);
17 фев 14, 16:24    [15578292]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста вытащить значения из xml поля  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Спасибо огромное, только вопрос, как представить table1.data как @x ?
17 фев 14, 16:29    [15578332]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста вытащить значения из xml поля  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
Алексей Кр
как представить table1.data как @x ?
select
 ...
from
 table1 t1 cross apply
 t1.data.nodes(...)
17 фев 14, 16:41    [15578409]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста вытащить значения из xml поля  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Спасибо огромное!
17 фев 14, 16:44    [15578424]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста вытащить значения из xml поля  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
А можно ли обойтись без
with xmlnamespaces('http://111.ru/schema/Htm' as ns0)

?
18 фев 14, 14:02    [15582361]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста вытащить значения из xml поля  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Вроде так ?

ttt.data.nodes('*:root/*:element') t(n)

отработал запрос)
18 фев 14, 14:10    [15582425]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить