存储在xml Column Table变量

时间:2016-01-12 16:44:24

标签: sql-server sql-server-2008 tsql rss

以下在@xmlT(表)中返回Null。 在一台机器上它工作正常,在其他机器返回Null如果我更改URL然后同样的事情发生,我的意思是它返回Null。

declare  @xmlT TABLE ( yourXML XML )
DECLARE @URL VARCHAR(8000) 
DECLARE @QS varchar(50)

SELECT @URL = 'http://indianexpress.com/section/world/feed/' 

- 选择@URL =' http://www.greaterkashmir.com/feed.aspx?cat_id=2'

                     or

- 选择@URL =' http://www.spa.gov.sa/english/rss13.xml'

DECLARE @Response varchar(max)
DECLARE @XML xml
DECLARE @Obj int 
DECLARE @Result int 
DECLARE @HTTPStatus int 
DECLARE @ErrorMsg varchar(MAX)

EXEC @Result = sp_OACreate 'MSXML2.XMLHttp', @Obj OUT 

EXEC @Result = sp_OAMethod @Obj, 'open', NULL, 'GET', @URL, false
EXEC @Result = sp_OAMethod @Obj, 'setRequestHeader', NULL, 'Content-Type', 'application/x-www-form-urlencoded'
EXEC @Result = sp_OAMethod @Obj, send, NULL, ''
EXEC @Result = sp_OAGetProperty @Obj, 'status', @HTTPStatus OUT 

INSERT @xmlT ( yourXML )
EXEC @Result = sp_OAGetProperty @Obj, 'responseXML.xml'--, @Response OUT 


DECLARE  @tlb table(customerlist xml)

//下面的语句在某些网址和其他计算机上返回Null

select * from @xmlT  


 SELECT   N.C.value('description[1]', 'nvarchar(max)') ItemId,   N.C.value('title[1]', 'nvarchar(max)') Value
FROM @tlb CROSS APPLY CustomerList.nodes('//channel/item') N(C)

0 个答案:

没有答案