Я пытаюсь создать документ XML с некоторыми из немногих данных. но я не могу создать ожидаемое XML на основе формата таблицы StudentData.
Вывод таблицы базы данных
TableName: StudentData
| KeyName | KeyValue |
|------------|----------------|
| StudentID | 123456 |
| FirstName | John |
| LastName | Doe |
| Email | jdoe@gmail.com |
| Phone | 1234567890 |
Я пытаюсь сделать вывод, основываясь на приведенном ниже результате
Ниже ожидаемые результаты
<TestData>
<Parameter key="StudentID">123456</Parameter>
<Parameter key="FirstName">John</Parameter>
<Parameter key="LastName">Doe</Parameter>
<Parameter key="Email">jdoe@gmail.com</Parameter>
<Parameter key="Phone">1234567890</Parameter>
</TestData>
Если у меня KeyName в качестве FieldName, тогда будет легко сделать XML данных в соответствии с оператором Select
, показанным ниже. Также я знаю, что PIVOT может работать в моем формате таблицы StudentData, который указан выше, но это будет слишком длительный процесс.
SELECT 'StudentID' AS [Parameter/@key]
,StudentID AS [Parameter]
,''
,'FirstName' AS [Parameter/@key]
, FirstName AS [Parameter]
,''
,'LastName' AS [Parameter/@key]
,LastName AS [Parameter]
,'Email' AS [Parameter/@key]
,Email AS [Parameter]
,'Phone' AS [Parameter/@key]
,Phone AS [Parameter]
FROM StudentData
FOR XML PATH('TestData');
Вопрос 1 : Как я могу сделать XML на основе имеющейся у меня таблицы данных ученика?
Вопрос 2 : Как я могу сделать его динамическим c, если добавлены новые строки, то также добавлено XML? 1027 *
Надеюсь, вы понимаете мой вопрос здесь. Если у вас есть вопросы. Пожалуйста, добавьте комментарий.
PN : Формат таблицы StudentData не может быть изменен. Так я должен работать текущий формат таблицы?