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

Откуда: Кемерово
Сообщений: 1057
Здравствуйте.
Формирую xml
with XMLNAMESPACES ('uri1' as msg)	
select @ResultXML = (				
	select 
		'Формат'  [msg:Header/msg:Format]
		,GETDATE()  [msg:Header/msg:CreationDate]
		,(						
		select
			T.c.query('.') [*] 
			from @XML
			cross apply tXML.nodes('Справочник') T(c)
			for XML path(''), type, root('Body')
		)
	for xml path('Message')
)

Результат
<Message xmlns:msg="uri1">
  <msg:Header>
    <msg:Format>Формат</msg:Format> 
    <msg:CreationDate>2016-10-31T09:59:30.317</msg:CreationDate> 
  </msg:Header>
  <Body xmlns:msg="uri1">
    <Справочник>
      ...
    </Справочник>
    <Справочник>
      ...
    </Справочник>
  </Body>
</Message>

Подскажите пожалуйста, как вместо
<Body xmlns:msg="uri1">
сделать
<Body xmlns="uri2">
31 окт 16, 06:15    [19840001]     Ответить | Цитировать Сообщить модератору
 Re: Namespace  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 9179
smoyk,

автор
<Body xmlns="uri2">


Это у Вас фантазия такая или Вы хотите, чтобы атрибут назывался xmlns?
31 окт 16, 11:05    [19840570]     Ответить | Цитировать Сообщить модератору
 Re: Namespace  [new]
smoyk
Member

Откуда: Кемерово
Сообщений: 1057
Владислав Колосов
...чтобы атрибут назывался xmlns?

Да. Вроде бы так называется пространство имен по умолчанию, и должно добавляться, если написать
WITH XMLNAMESPACES (DEFAULT 'uri2') 
(Добавление пространств имен в запросы с WITH XMLNAMESPACES)

К сожалению в моем случае это не работает, или я что то не правильно делаю, но если я добавляю такую инструкцию, то секция Body не выводится совсем.

Это не считая того, что я не понимаю, почему в Body выводится пространство имен msg, и соответственно не знаю, как его оттуда убрать.
31 окт 16, 11:27    [19840706]     Ответить | Цитировать Сообщить модератору
 Re: Namespace  [new]
smoyk
Member

Откуда: Кемерово
Сообщений: 1057
Коллеги посоветовали сделать реплейс строки средствами sql в итоговом xml. Вроде работает)
Всем спасибо за помощ, тема закрыта.
1 ноя 16, 05:44    [19844315]     Ответить | Цитировать Сообщить модератору
 Re: Namespace  [new]
aleks2
Guest
smoyk
Коллеги посоветовали сделать реплейс строки средствами sql в итоговом xml. Вроде работает)
Всем спасибо за помощ, тема закрыта.


Дык, у вас там просто логово халтурщиков.
1 ноя 16, 08:47    [19844441]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить