【发布时间】:2021-05-09 22:10:13
【问题描述】:
作为 MS SQL Server 查询的结果,我需要获取一个 XML SOAP 信封,如下所示:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:usercontrol">
<soapenv:Header></soapenv:Header>
<soapenv:Body>
<urn:Action>
<urn:CDUSER>2</urn:CDUSER>
<urn:IDUSER>jd</urn:IDUSER>
<urn:NMUSER>John Doe</urn:NMUSER>
<urn:DTINSERT>2019-09-12</urn:DTINSERT>
</urn:Action>
</soapenv:Body>
</soapenv:Envelope>
我的查询:
WITH XMLNAMESPACES ('urn:usercontrol' AS urn, 'http://schemas.xmlsoap.org/soap/envelope/' AS soapenv)
SELECT
'' AS [soapenv:Header],
(
SELECT
CDUSER AS [urn:CDUSER],
IDUSER AS [urn:CDUSER],
NMUSER AS [urn:CDUSER],
CONVERT(varchar, DTINSERT, 120) AS [urn:DTINSERT]
FROM
ADUSER
WHERE
CDUSER = 2
FOR XML PATH('urn:newAction')
) AS [soapenv:Body]
FOR XML PATH('soapenv:Envelope')
嗯,结果不远了,但不是我想要的:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:usercontrol">
<soapenv:Header></soapenv:Header>
<soapenv:Body><urn:newAction xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:usercontrol"><urn:CDUSER>2jdJohn Doe</urn:CDUSER><urn:DTINSERT>2019-09-12 11:09:45</urn:DTINSERT></urn:newAction></soapenv:Body>
</soapenv:Envelope>
你能帮帮我吗? 非常感谢,提前。
【问题讨论】:
标签: sql sql-server xml soap