Добрый день.
Никак не получается создать XML из таблицы формата, который мне нужен. На хабре нашел вроде хорошую статью по этому вопросу, но даже с ее использованием не выходит, такое ощущение, что я никак не могу понять суть, как вообще работает это xml path. Помогите, кто разбирается
Код создания таблиц для тестов (данные от балды, просто чтобы показать суть того, что я имею и что хочу получить):
if object_id('dbo.TestAutoInfo', 'U') is not null
drop table dbo.TestAutoInfo;
go
create table dbo.TestAutoInfo
(
CityID int
,CarBrand varchar(20)
,CarModel varchar(20)
,CarBodyType varchar(20)
,CarYear smallint
,CarColor varchar(20)
)
go
insert into dbo.TestAutoInfo
(
CityID
,CarBrand
,CarModel
,CarBodyType
,CarYear
,CarColor
)
values
(1283,'Toyota','Corolla','Sedan',2013,'White')
,(1283,'Toyota','Rav4','SUV',2021,'Black')
,(1283,'Ford','Mustang','Coupe',2024,'Red')
go
select CityID
,CarBrand
,CarModel
,CarBodyType
,CarYear
,CarColor
from TestAutoInfo
Примечание к данным - CityID всегда одно и тоже в рамках этого блока
Что я хочу получить из этих данных:
1) В идеале вот такое
<data>
<field name="CityID">1283</field>
</data>
<data>
<field name="CarBrand">Toyota</field>
<field name="CarModel">Corolla</field>
<field name="CarBodyType">Sedan</field>
<field name="CarYear">2013</field>
<field name="CarColor">White</field>
</data>
<data>
<field name="CarBrand">Toyota</field>
<field name="CarModel">Rav4</field>
<field name="CarBodyType">SUV</field>
<field name="CarYear">2021</field>
<field name="CarColor">Black</field>
</data>
<data>
<field name="CarBrand">Ford</field>
<field name="CarModel">Mustang</field>
<field name="CarBodyType">Coupe</field>
<field name="CarYear">2024</field>
<field name="CarColor">Red</field>
</data>
Но если не такое, то хотя бы вот такое
<data>
<field name="CityID">1283</field>
<field name="CarBrand">Toyota</field>
<field name="CarModel">Corolla</field>
<field name="CarBodyType">Sedan</field>
<field name="CarYear">2013</field>
<field name="CarColor">White</field>
</data>
<data>
<field name="CityID">1283</field>
<field name="CarBrand">Toyota</field>
<field name="CarModel">Rav4</field>
<field name="CarBodyType">SUV</field>
<field name="CarYear">2021</field>
<field name="CarColor">Black</field>
</data>
<data>
<field name="CityID">1283</field>
<field name="CarBrand">Ford</field>
<field name="CarModel">Mustang</field>
<field name="CarBodyType">Coupe</field>
<field name="CarYear">2024</field>
<field name="CarColor">Red</field>
</data>
Пробовал по разному, но никак не выходит. Если никто не сможет помочь кодом, то может хотя бы накидайте ссылок, пожалуйста, на адекватные статьи как работает этот "%:/** @ XML PATH с кучей примеров, а не просто два-три.