SQL Server 2005 For XML Explicit - 需要帮助格式化

Chr*_*ard 11 xml sql formatting sql-server-2005 for-xml

我有一个表格,结构如下:

------------------------------
LocationID     | AccountNumber
------------------------------
long-guid-here | 12345
long-guid-here | 54321
Run Code Online (Sandbox Code Playgroud)

要传入另一个存储过程,我需要XML看起来像这样:

<root> 
    <clientID>12345</clientID>
    <clientID>54321</clientID>
</root>
Run Code Online (Sandbox Code Playgroud)

到目前为止我能做到的最好的就是这样:

<root clientID="10705"/>
Run Code Online (Sandbox Code Playgroud)

我正在使用这个SQL语句:

SELECT
    1 as tag,
    null as parent,
    AccountNumber as 'root!1!clientID'
FROM
    Location.LocationMDAccount
WHERE
    locationid = 'long-guid-here'
FOR XML EXPLICIT
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经查看了MSDN页面上的文档,但是我没有得到预期的结果.


@公斤,

你实际给了我这个输出:

<root>
  <Location.LocationMDAccount>
    <clientId>10705</clientId>
  </Location.LocationMDAccount>
</root>
Run Code Online (Sandbox Code Playgroud)

我现在要坚持FOR XML EXPLICIT克里斯莱昂.

小智 3

尝试

SELECT
    1 AS Tag,
    0 AS Parent,
    AccountNumber AS [Root!1!AccountNumber!element]
FROM
    Location.LocationMDAccount
WHERE
    LocationID = 'long-guid-here'
FOR XML EXPLICIT
Run Code Online (Sandbox Code Playgroud)