我有一个返回按组织组织的数据的查询。我想让它们以类似于以下格式的分组XML出现。我打算使用WCF-SQL端口适配器将其作为XML消息传递到BizTalk中。
数据:
ID GroupID Item ID FileName
1 1 1 File001.txt
2 1 2 File001.txt
3 2 3 File002.txt
4 2 4 File002.txt
5 2 5 File002.txt
6 3 6 File003.txt
7 3 7 File003.txt
8 null 8 File004.txt
9 null 9 File005.txt
XML输出(输入到BizTalk)
<GroupInfo ID=1 FileName=File001.txt>
<Items>
<Item ID=1 />
<Item ID=2 />
</Items>
</GroupInfo>
<GroupInfo ID=2 FileName=File002.txt>
<Items>
<Item ID=3 />
<Item ID=4 />
<Item ID=5 />
</Items>
</GroupInfo>
<GroupInfo ID=3 FileName=File003.txt>
<Items>
<Item ID=6 />
<Item ID=7 />
</Items>
</GroupInfo>
<GroupInfo FileName=File004.txt>
<Items>
<Item ID=8 />
</Items>
</GroupInfo>
<GroupInfo FileName=File005.txt>
<Items>
<Item ID=9 />
</Items>
</GroupInfo>
我不知道如何以所需格式获取输出。请帮忙。
答案 0 :(得分:0)
要实现此目的,您必须使用存储过程中的FOR XML结果。
此处记录:http://technet.microsoft.com/en-us/library/ms178107.aspx
在这种情况下,您可能会发现在GroupID上将表连接到自身更容易,因为FOR XML AUTO将自动为连接的行创建子记录。