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

Откуда:
Сообщений: 1368
так работает
declare @t table(xml2 xml)


DECLARE @xml XML
SET @xml='<object>
        <id>544</id>
		<abc>67</abc>
    </object>'
	insert @t select @xml

	select xml2.value('/object[1]/abc[1]', 'varchar(10)') from @t


а так нет

declare @t table(xml2 xml)

DECLARE @xml XML
SET @xml='<object xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/policy.xsd">
        <id>544</id>
		<abc>67</abc>
    </object>'
	insert @t select @xml

	select xml2.value('/object[1]/abc[1]', 'varchar(10)') from @t


шо такэ?
13 окт 16, 14:35    [19777901]     Ответить | Цитировать Сообщить модератору
 Re: xql xml.value  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6201
Дефолтный неймспейс корневого узла. Ищите по разделу по ключевому слову xmlnamespaces
13 окт 16, 14:41    [19777921]     Ответить | Цитировать Сообщить модератору
 Re: xql xml.value  [new]
Дядя Петя Вася
Member

Откуда:
Сообщений: 1368
конкрентый код можна? я в этом xql не шарю, описаний на русском нет, те что есть на иностранном какие то дурацкие
13 окт 16, 14:45    [19777935]     Ответить | Цитировать Сообщить модератору
 Re: xql xml.value  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
Дядя Петя Вася,

declare @t table(xml2 xml)

DECLARE @xml XML
SET @xml='<object xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/policy.xsd">
        <id>544</id>
		<abc>67</abc>
    </object>'
	insert @t select @xml;
  
  with xmlnamespaces (default 'http://tempuri.org/policy.xsd')
	select xml2.value('/object[1]/abc[1]', 'varchar(10)') from @t


на русском:
https://msdn.microsoft.com/ru-ru/library/ms177400.aspx
13 окт 16, 15:00    [19777996]     Ответить | Цитировать Сообщить модератору
 Re: xql xml.value  [new]
Дядя Петя Вася
Member

Откуда:
Сообщений: 1368
я уже проще нашел варик
select xml2.value('declare default element namespace "http://tempuri.org/policy.xsd";  *[1]/id[1]', 'varchar(10)') from @t
13 окт 16, 15:10    [19778037]     Ответить | Цитировать Сообщить модератору
 Re: xql xml.value  [new]
Валдай
Member

Откуда:
Сообщений: 113
Дядя Петя Вася,

Можно вообще без namespace
select @xml.value('/*:object[1]/*:abc[1]', 'varchar(10)')
13 окт 16, 16:38    [19778537]     Ответить | Цитировать Сообщить модератору
 Re: xql xml.value  [new]
M2k
Member

Откуда:
Сообщений: 136
Валдай,
может и мне поможешь ?
[url=]
https://www.sql.ru/forum/1234882/razbor-xml
[/url]
16 окт 16, 23:00    [19788016]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить