我有以下代码来生成xml输出。ssms生成的xml标记中的值
select
[FirstName] as 'SubscriberName/FirstName',
[Middle] as 'SubscriberName/MiddleName',
LastName as 'SubscriberName/LastName',
'123 fake street' as 'Address/Address1'
from chp_work_area.dbo.Students1099hc
FOR XML PATH('SubscriberInformation'), ROOT('Test')
这是xml的输出,并且是准确的。
<Test>
<SubscriberInformation>
<SubscriberName>
<FirstName>BOB</FirstName>
<MiddleName>G</MiddleName>
<LastName>CHOI</LastName>
</SubscriberName>
<Address>
<Address1>123 fake street</Address1>
</Address>
</SubscriberInformation>
<SubscriberInformation>
<SubscriberName>
<FirstName>MOLLY</FirstName>
<MiddleName>G</MiddleName>
<LastName>MORTY</LastName>
</SubscriberName>
<Address>
<Address1>123 fake street</Address1>
</Address>
</SubscriberInformation>
</Test>
我需要的最后一部分是订户信息列出它在标签内的哪条记录,以便它读取如下。
<Test>
<SubscriberInformation docID="Person001">
<SubscriberName>
<FirstName>BOB</FirstName>
<MiddleName>G</MiddleName>
<LastName>CHOI</LastName>
</SubscriberName>
<Address>
<Address1>123 fake street</Address1>
</Address>
</SubscriberInformation>
<SubscriberInformation docID="Person002">
<SubscriberName>
<FirstName>MOLLY</FirstName>
<MiddleName>G</MiddleName>
<LastName>MORTY</LastName>
</SubscriberName>
<Address>
<Address1>123 fake street</Address1>
</Address>
</SubscriberInformation>
</Test>
使用“@docID”作为别名...你就必须做一些工作吧。通过选择[FirstName]作为“@docID”进行测试,您将看到我的意思。 – manderson