【发布时间】:2015-11-10 22:14:00
【问题描述】:
我正在尝试将 SQL Server 2012 查询结果转换为格式化的 XML 结果。 我通常使用 Visual Basic 循环遍历记录集并形成它。
查询是:
SELECT top 3
Plant_Devices.DeviceNumber, Plant_Devices.DeviceName,
SYS_Templates.TemplateTag, Plant_Alarms_Groups.GroupTag
FROM
Plant_Devices
INNER JOIN
SYS_Templates ON Plant_Devices.SYS_Templates_CID = SYS_Templates.CID
INNER JOIN
Plant_Alarms_Groups ON Plant_Devices.Plant_Alarms_Groups_CID = Plant_Alarms_Groups.CID
AND Plant_Devices.Plant_Alarms_Groups_CID = Plant_Alarms_Groups.CID
结果是:
DeviceNumber DeviceName TemplateTag GroupTag
1 Stucco & Dry Add. D/C Fan D_Motor_Standard WM1_StuccoSys
10 Kiln Drive D_Drive_Standard WM1_KilnSys
118 HRA Feeder Agitator #1 D_Motor_Standard WM1_DryAdditives
所需的 XML 输出是:
<Tags>
<Tag name="1" path="" type="UDT_INST">
<Property name="Documentation" type="String">Stucco & Dry Add. D/C Fan</Property>
<Property name="DataType">2</Property>
<Property name="UDTParentType">D_Motor_Standard</Property>
<Parameters>
<Property name="AlarmGroup" type="String">WM1_StuccoSys</Property>
<Property name="DisplayName" type="String">1</Property>
<Property name="ID" type="String">1</Property>
</Parameters>
</Tag>
<Tag name="10" path="" type="UDT_INST">
<Property name="Documentation" type="String">Kiln Drive</Property>
<Property name="DataType">2</Property>
<Property name="UDTParentType">D_Drive_Standard</Property>
<Parameters>
<Property name="AlarmGroup" type="String">WM1_KilnSys</Property>
<Property name="DisplayName" type="String">10</Property>
<Property name="ID" type="String">10</Property>
</Parameters>
<Tag name="118" path="" type="UDT_INST">
<Property name="Documentation" type="String">HRA Feeder Agitator #1</Property>
<Property name="DataType">2</Property>
<Property name="UDTParentType">D_Motor_Standard</Property>
<Parameters>
<Property name="AlarmGroup" type="String">WM1_DryAdditives</Property>
<Property name="DisplayName" type="String">118</Property>
<Property name="ID" type="String">118</Property>
</Parameters>
</Tag>
</Tag>
</Tags>
谢谢!
【问题讨论】:
-
欢迎来到 Stack Overflow。您可能会发现您需要更具体地了解您希望如何实现最终结果。您想再次使用 VB 脚本吗?或者您是否正在寻找另一种解决方案?我真的看不到这里的问题,它看起来更像是为我做这个。
-
我一直在尝试使用 SQL 服务器中的 xml 生成器来输出所需的 XML。但我似乎无法输出二级和三级分支。
标签: xml sql-server-2012