我正在调用一个 web 服务(下面的 url),并将 XML 结果作为 varchar(8000) 返回到 SQL Server 中,然后将其转换为 XML。这完美地工作。我想将这个 XML 信息解析为它的单个值,但继续获取空值。这是我第一次尝试在我的 SQL 2008 服务器上使用 XML,所以我知道我错过了一个非常琐碎的项目。
我正在接收收到的响应并将其存储到@XML 中。
SET @XML = CAST(@Response AS XML)
我接下来尝试提取邮政编码以获取我的结果并接收 NULL 或错误的节点。
返回 NULL
SELECT @XML.value('(/GeocodingResult/Results/Address/PostalCode) [1]', 'varchar(50)')
返回“版权所有 © 2010 Microsoft 及其供应商。全部”(不带引号)
SELECT @XML.value('(/) [1]', 'varchar(50)')