小编MMD*_*MDG的帖子

使用TSQL生成XML的最佳方法

以下代码在如此多的级别上是错误的,我无法将它们全部列出.我想任何试图回答此问题的人都只会使用测试数据表.哈!

我拼凑了几个帖子,在EXPLICIT,RAW和PATH之间蹦蹦跳跳,它有点多了.

我认为使用SQL经常生成XML的人会从头脑中知道这一点.

我没有Ex,Raw或Path的偏好 - 我只需要最好的工具.在一天结束时,将有65列构成最终文档的各个级别.

我需要代码来查询该表并生成以下内容:

<batchContactList>
    <contact contactID="123" action="AddOrModify">
        <contactField name="FirstName">Johnny</contactField>
        <contactField name="LastName">Testguy</contactField>
        <contactPointList>
            <contactPoint type="Email">
            <contactPointField name="Label">Email</contactPointField>
            <contactPointField name="Address">example@sendwordnow.com</contactPointField>
                </contactPoint>
             </contactPointList>
    </contact>
</batchContactList>
Run Code Online (Sandbox Code Playgroud)

测试代码

- 测试数据

DECLARE @tvTest TABLE (contactID INT, FirstName VARCHAR(25), LastName VARCHAR(25), [type] VARCHAR(25), [address] VARCHAR(25))
INSERT INTO @tvTest (contactID, FirstName, LastName, [type], [address])
SELECT 123, 'Johnny', 'Testguy', 'email', 'example@sendwordnow.com'
UNION
SELECT 321, 'Sally', 'Testgirl', 'email', '1example@sendwordnow.com';

--Outer
SELECT
      A.contactID AS "@contactID"
    , 'AddOrModify' AS "@action"
FROM 
    @tvTest A
FOR XML PATH('contact'), ROOT('batchContactList')

--Level …
Run Code Online (Sandbox Code Playgroud)

xml t-sql sql-server

3
推荐指数
1
解决办法
72
查看次数

标签 统计

sql-server ×1

t-sql ×1

xml ×1