以下在@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)