webservice api에 대한 결과로 xml이 있습니다. 내가 결과를 구문 분석하고 데이터베이스 테이블을 업데이 트해야합니다. 내 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
나는 vari를 시도했다. 개미와 코드에 나는 NULL이 아닌 1을가집니다. XML이'@ ResponseText'에 입력되는 것이 확실합니까? 그것을 확인하기 전에'PRINT @ ResponseText'를 시도하십시오. '@ ResponseText'는 어떻게 채우고 있습니까? –
제안이 효과가 있습니까? 그렇다면 내 대답에 동의 함을 표시해주십시오. 감사. –