У меня есть следующий скрипт:
DECLARE @columns TABLE (
Caption varchar(50),
Width int);
INSERT INTO @columns
VALUES ('Id', 0), ('Name', 100);
DECLARE @rows TABLE (
Id int,
[Name] varchar(50));
INSERT INTO @rows
VALUES (1, 'John'), (2, 'Steve');
SELECT *,
(SELECT *
FROM @rows
FOR XML PATH('Row'), ROOT('Rows'), TYPE, ELEMENTS)
FROM @columns
FOR XML PATH('Column'), ROOT('Results'), TYPE, ELEMENTS;
И мне нужно вернуть следующий XML:
<Results>
<Columns>
<Column>
<Caption>Id</Caption>
<Width>0</Width>
</Column>
<Column>
<Caption>Name</Caption>
<Width>100</Width>
</Column>
</Columns>
<Rows>
<Row>
<Id>1</Id>
<Name>John</Name>
</Row>
<Row>
<Id>2</Id>
<Name>Steve</Name>
</Row>
</Rows>
</Results>
Идея состоит в том, что я преобразую XML в DataSet
с 2 DataTables
(один для столбцов, а другой для строк).Я буду использовать это для заполнения DataGridView
.
Однако моя проблема заключается в том, что генерируемый в данный момент XML-файл искажен и не соответствует ожидаемому.
Каков правильный синтаксис для генерации XML, как и ожидалось?