Я бьюсь с этим уже несколько дней, я хочу автоматизировать вывод XML с помощью следующего синтаксиса
SELECT (
SELECT CONVERT(VARCHAR(10),GETDATE(),103)
FOR XML PATH('DataVersion'),
TYPE
),
(
SELECT CoNum,
CoName,
CONVERT(VARCHAR(10),AccountToDate,103) 'DLA',
LAFileNet
FROM @XMLOutput
FOR XML PATH('Company'),
TYPE
)
FOR XML PATH(''),
ROOT('Companies')
Что создает следующий вывод
<Companies>
<DataVersion>15/11/2010</DataVersion>
<Company>
<CoNum>111</CoNum>
<CoName>ABCLmt</CoName>
<DLA>12/12/2010</DLA>
<LAFileNet>1234</LAFileNet>
</Company>
<Company>
<CoNum>222</CoNum>
<CoName>DEFLmt</CoName>
<DLA>12/12/2007</DLA>
<LAFileNet>5678</LAFileNet>
</Company>
</Companies>
Что я не могу сделать, так это добавить XML объявление xml version="1.0" encoding="ISO-8859-1" ?>
в верхнюю часть вывода?
Обновление 1: Правильно ли я понимаю, что мне нужно создать XML схему в SQL server для определения xsl:output. Затем назначить вывод на эту схему?
Обновление 2: После этого я нашел эти ссылки http://forums.asp.net/t/1455808.aspx -- Посмотрите комментарий от Jian Kang. Также http://www.devnewsgroups.net/group/microsoft.public.sqlserver.xml/topic60022.aspx