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

Откуда:
Сообщений: 109
Здравствуйте
Проблема при генерации XML из выборки с помощью for xml
 ;with params as 
 (
 select NEWID() as fkValueEntity, NEWID() as fkType
 union all
 select NEWID(), NEWID()
 union all
 select NEWID(), NEWID()
 union all
 select NEWID(), NEWID()
 union all
 select NEWID(), NEWID()
 ) 
 
select 'fkValueEntity' as "Data/@fieldName" ,  fkValueEntity as "Data", 'fkType' as "Data1/@fieldName" , fkType as "Data1" 
from params 
FOR XML PATH ('entity'),root ('root');
Данный скрипт работает нормально, но получается 2 разных тэга Data и Data1 в узле <entity>, а необходимо чтобы в узле <entity> было 2 узла Data с разными аттрибутами: fkValueEntity, fkType. Если заменить Data1 на Data в лоб, то будет ошибка по понятным причинам (не понятно какое значение какому узлу относится)
Подскажите пожалуйста, что изменить в скрипте чтобы все работало как надо?
<root>
  <entity>
    <Data fieldName="fkValueEntity">66A55E3D-B2DB-470E-AAA7-C4B8A0642A06</Data>
    <Data fieldName="fkType">505C752B-09FF-4446-A09B-ECB7D2758033</Data1>
  </entity>
...
</root>
10 май 11, 15:50    [10630211]     Ответить | Цитировать Сообщить модератору
 Re: проблема с for xml  [new]
daw
Member

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

select (select *
         from (
           select 'fkValueEntity' as [@fieldName], fkValueEntity as [text()]
           union all
           select 'fkType', fkType
              ) t
         for xml path('Data'), type)
from params
FOR XML PATH ('entity'),root ('root');

Posted via ActualForum NNTP Server 1.4

10 май 11, 16:04    [10630340]     Ответить | Цитировать Сообщить модератору
 Re: проблема с for xml  [new]
AnaceH
Member

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

Спасибо большое!
10 май 11, 16:08    [10630381]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить