我有xml作爲webservice api的結果。我需要解析結果並更新到數據庫表。我的xml在下面。它是一個響應文本。如何在sql服務器中讀取此xml
<?xml version="1.0" encoding="utf-8"?>
<double>1</double>
sqlserver的2008代碼:
declare @xml xml, @rate DECIMAL(10,4)
set @xml=REPLACE(@ResponseText ,'encoding="utf-8"','')
select @rate= @xml.value('(/double)[1]','decimal')
我想要得到的雙重價值,但它總是返回NULL。
請幫我一把。
嗨,有完成更改根據您的建議仍然沒有得到。
declare @xml XML
DECLARE @responsetext VARCHAR(900)
declare @rate DECIMAL(10,4)
SET @responsetext = '<?xml version="1.0" encoding="utf-8"?>
<double xmlns="http://www.webserviceX.NET/">1</double>'
set @xml=REPLACE(@ResponseText ,'encoding="utf-8"','')
select @rate= @xml.value('(/double)[1]','decimal')
select @rate
我試過一個變種螞蟻在你的代碼,我得到1,而不是NULL。你確定這是XML被送入'@ ResponseText'嗎?在此之前嘗試一個'PRINT @ ResponseText'來驗證。你如何填充'@ ResponseText'? – 2014-11-03 12:14:54
我的建議有效嗎?如果可以,請將我的答案標記爲已接受?謝謝。 – 2014-11-04 06:42:58