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

Откуда: 大地
Сообщений: 3265
Надо

<Row>
<Cell ss:StyleID="s22"><Data ss:Type="Number">1234</Data></Cell>
<Cell ss:StyleID="s22"><Data ss:Type="String">Text</Data></Cell>
<Cell ss:StyleID="s22"><Data ss:Type="Number">5.6</Data></Cell>
<Cell ss:StyleID="s22"><Data ss:Type="Number">6.7</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s22"><Data ss:Type="Number">456</Data></Cell>
<Cell ss:StyleID="s22"><Data ss:Type="String">Text 2</Data></Cell>
<Cell ss:StyleID="s22"><Data ss:Type="Number">7.8</Data></Cell>
<Cell ss:StyleID="s22"><Data ss:Type="Number">9.8</Data></Cell>
</Row>

из

;WITH RS
AS  
(
 SELECT 1234 ID ,'Text' Title ,5.6 Points , 6.7 Cost
 union 
 SELECT 456 ID ,'Text 2' Title ,7.8 Points , 9.0 Cost
)

SELECT 
 ID
 ,Title
 ,Points
 ,Cost
FROM RS
FOR XML PATH('Row')

завис на атрибутах и пути (((

朋友之间怎么能尔虞我诈、钩心斗角呢?
19 май 11, 11:05    [10676338]     Ответить | Цитировать Сообщить модератору
 Re: Комрады, заподскажите как трансформировать резалтсет в хмл  [new]
daw
Member

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

так устроит?
;with xmlnamespaces('uri' as ss)
SELECT
  (select * from (
     select 's22' as [@ss:StyleID], 'Number' as [Data/@ss:Type], cast(ID as varchar(100)) as [Data/text()]
     union all
     select 's22', 'String', Title
     union all
     select 's22', 'Number', cast(Points as varchar(100))
     union all
     select 's22', 'Number', cast(Cost as varchar(100))
     ) t
   for xml path('Cell'), type)
FROM @t RS
FOR XML PATH('Row')


Posted via ActualForum NNTP Server 1.4

19 май 11, 11:57    [10676882]     Ответить | Цитировать Сообщить модератору
 Re: Комрады, заподскажите как трансформировать резалтсет в хмл  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
daw,

спасибо )))
19 май 11, 12:30    [10677215]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить