У меня есть таблица только с одним столбцом типа Xml
, а также с именем Xml. Каждая строка представляет элемент <recipient>
.Окружать все строки в корневом узле Xml (исключая узел имени столбца)
<receipt>
<memberid>55555555</memberid>
<purchaseid>4408888888859447</purchaseid>
<time>2017-02-01</time>
<depID>50277</depID>
<amount>1398</amount>
<theme>Herr</theme>
<parentgroup></parentgroup>
</receipt>
То, что я хочу сделать, это окружить все эти элементы в одном родительском узле <recipients>
таким образом они будут выглядеть примерно так
<recipients>
<receipt>
<memberid>55555555</memberid>
<purchaseid>4408888888859447</purchaseid>
<time>2017-02-01</time>
<depID>50277</depID>
<amount>1398</amount>
<theme>Herr</theme>
<parentgroup></parentgroup>
</receipt>
<receipt>
<memberid>55555555</memberid>
<purchaseid>4408888888859447</purchaseid>
<time>2017-02-01</time>
<depID>50277</depID>
<amount>1398</amount>
<theme>Herr</theme>
<parentgroup></parentgroup>
</receipt>
<receipt>
<memberid>55555555</memberid>
<purchaseid>4408888888859447</purchaseid>
<time>2017-02-01</time>
<depID>50277</depID>
<amount>1398</amount>
<theme>Herr</theme>
<parentgroup></parentgroup>
</receipt>
</recipients>
Когда я запускаю запрос как:
SELECT [xml]
FROM MyTable
FOR XML PATH('recipients')
Я получаю дополнительный <xml>
узел для каждой записи, и это то, от чего я пытаюсь избавиться.
Пустые 'Path' и Casting as XML выполнили эту работу. Спасибо! – Disasterkid
@ Disasterkid Счастлив, что это помогло. Я понятия не имею, почему это работает, я случайно наткнулся на это случайно :) –
Привет, я добавил ответ с некоторым объяснением, почему это работает. Нет чуда ... – Shnugo