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

Откуда:
Сообщений: 416
Добрый день!

Не могу найти, как я могу в примере ниже не создавать тег <XmlValue> при использовании for xml, т.е. все что мне нужно - root-tag к набору xml. В реальном мире я постепенно формирую список xml подобных @tag, а затем хочу их всех объединить, добавив корневой тег. Как это пакетно, не использую конкатенацию ?

declare @tag table(XmlValue xml)
insert into @tag
values	('<Item><RowNumber>2</RowNumber><ErrorStr>Вот такая ошибка</ErrorStr><NewItemID>234</NewItemID></Item>')
		,('<Item><RowNumber>3</RowNumber><ErrorStr>Вот такая ошибка</ErrorStr><NewItemID>456</NewItemID></Item>')
		,('<Item><RowNumber>4</RowNumber><ErrorStr>Вот такая ошибка</ErrorStr><NewItemID>678</NewItemID></Item>')
		,('<Item><RowNumber>5</RowNumber><ErrorStr>Вот такая ошибка</ErrorStr><NewItemID>890</NewItemID></Item>')

select	t.XmlValue
from	@tag t
for xml path(''), root('xml')


XmlValue в следующем набор лишние:
<xml>
  <XmlValue>
    <Item>
      <RowNumber>2</RowNumber>
      <ErrorStr>Вот такая ошибка</ErrorStr>
      <NewItemID>234</NewItemID>
    </Item>
  </XmlValue>
  <XmlValue>
    <Item>
      <RowNumber>3</RowNumber>
      <ErrorStr>Вот такая ошибка</ErrorStr>
      <NewItemID>456</NewItemID>
    </Item>
  </XmlValue>
  <XmlValue>
    <Item>
      <RowNumber>4</RowNumber>
      <ErrorStr>Вот такая ошибка</ErrorStr>
      <NewItemID>678</NewItemID>
    </Item>
  </XmlValue>
  <XmlValue>
    <Item>
      <RowNumber>5</RowNumber>
      <ErrorStr>Вот такая ошибка</ErrorStr>
      <NewItemID>890</NewItemID>
    </Item>
  </XmlValue>
</xml>
10 апр 13, 09:26    [14159964]     Ответить | Цитировать Сообщить модератору
 Re: for xml, исключить создание тега с именем поля  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
так?
select	t.XmlValue as [*]
from	@tag t
for xml path(''), root('xml')
10 апр 13, 09:31    [14159981]     Ответить | Цитировать Сообщить модератору
 Re: for xml, исключить создание тега с именем поля  [new]
Exproment
Member

Откуда:
Сообщений: 416
daw, Да, так! Спасибо! Если не секрет - данный подход декларированный или это костыль ? Не вижу описания в BOL.
10 апр 13, 09:33    [14159990]     Ответить | Цитировать Сообщить модератору
 Re: for xml, исключить создание тега с именем поля  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
Exproment
daw, Да, так! Спасибо! Если не секрет - данный подход декларированный или это костыль ? Не вижу описания в BOL.

http://msdn.microsoft.com/en-us/library/bb500154.aspx
10 апр 13, 09:49    [14160050]     Ответить | Цитировать Сообщить модератору
 Re: for xml, исключить создание тега с именем поля  [new]
Exproment
Member

Откуда:
Сообщений: 416
daw, Спасибо!
10 апр 13, 10:26    [14160249]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить