http://www.greaterkashmir.com/feed.aspx?cat_id=2
以上是xml RSS newsFeed文档的在线链接。 我需要检索它并转换SQL表中的每个数据项。
我正在寻找的解决方案如下。在它有一个问题,它返回NULL
答案 0 :(得分:1)
1.将aspx
页面保存为xml
文档。(我已将其保存为check.xml
)
2.创建table
以存储XML数据,如下所示
CREATE TABLE xmlinput
(
Id INT IDENTITY PRIMARY KEY,
XMLData XML,
createdate DATETIME
)
3.使用xmlinput
插入xml
文件中的OPENROWSET
表,如下所示,
INSERT INTO xmlinput(XMLData, createdate)
SELECT CONVERT(XML, BulkColumn) AS BulkColumn, GETDATE()
FROM OPENROWSET(BULK '\\DEVSQL2012\SQLServer\check.xml', SINGLE_BLOB) AS x;
4.现在我们必须使用sp_xml_preparedocument
存储过程(带有OPENXML
函数)来处理
存储在Xmlinput
表中的xml数据。
DECLARE @XML AS XML, @doc AS INT, @SQL NVARCHAR (MAX)
SELECT @XML = XMLData FROM xmlinput
--select @XML
EXEC sp_xml_preparedocument @doc OUTPUT, @XML
SELECT Category, link, title,description, pubDate ,guid
into xmldata
FROM OPENXML(@doc, 'xml/channel/item')
WITH
(
Category [varchar](50) 'category',
link [varchar](100) 'link',
title [varchar](100) 'title',
description [varchar](1000) 'description',
pubDate [varchar](100) 'pubDate',
guid [varchar](100) 'guid'
)
EXEC sp_xml_removedocument @doc --Call this sp to remove document cache
GO
select *from xmldata