将数据从soap xml保存到表中

时间:2017-12-25 17:22:00

标签: sql soap sql-server-2012

我正在尝试将数据值保存到表中,以便我可以使用它们,但无法理解它。我目前正在运行SQL Server 2012.如何阅读保存在@x变量中的soap XML?

declare @x xml

set @x = '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <ListResponse xmlns="http://api.com">
      <ListResult>
        <API>
          <ID>1565</ID>
          <Email>jd@dj.com</Email>
          <Type>Unknown</Type>
          <Notes />
        </API>
      </ListResult>
    </ListResponse>
  </soap:Body>
</soap:Envelope>'

这是我提出的,但它只返回单列中的数据而无法知道哪些数据属于哪一列

select convert(varchar, n.c.value('.', 'varchar(max)'))
from @X.nodes('//text()[1]') n(c)

1565
jd@dj.com
Unknown

数据以列格式显示,其中我希望每行返回一行。目前只有1个API返回如果超过1?

0 个答案:

没有答案