首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从存储在SQL Server 2014中的SOAP请求中获取XML值

从存储在SQL Server 2014中的SOAP请求中获取XML值
EN

Stack Overflow用户
提问于 2018-06-14 03:19:49
回答 1查看 184关注 0票数 0

我有下面的SOAP,它存储在SQL的XML列中,我正在寻找一种获取特定值的方法。SOAP的示例如下所示。这是一个更大的请求的片段。

代码语言:javascript
复制
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <Action xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none" s:mustUnderstand="1">http://xyzservice/submit</Action>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <serviceAuthorization xmlns="http://www.xyzservice.com/xyzz/schema/auth">
      <recordType xmlns="">Authorization</recordType>
      <externalAuthorizationId xmlns="">4</externalAuthorizationId>
      <authorizationStatus xmlns="">APPROVED</authorizationStatus>
</serviceAuthorization>
  </s:Body>
</s:Envelope>

我使用的SQL如下所示。我已经尝试了几种不同的方法,但仍然没有成功。任何帮助都将不胜感激。我几乎找不到能涵盖我正在尝试做的事情的资源。

代码语言:javascript
复制
WITH XMLNAMESPACES 
('http://schemas.xmlsoap.org/soap/envelope/' AS s)
select 
REQUEST_XML.query('/s:Envelope/s:Body/serviceAuthorization/recordType/*')
FROM HE_EXTRACT_HISTORY
WHERE REQUEST_XML IS NOT NULL 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-14 03:48:16

这就对了,我在SQL Server 2014中进行了本地测试:

代码语言:javascript
复制
SELECT a.value('recordType[1]', 'varchar(100)')
FROM REQUEST_XML.nodes('//*:serviceAuthorization') AS xx(a)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50844739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档