大家好:这几天一直在研究怎么读取xml数据,然后把数据放在数据库的表中,今天有时间总结了一下这几天用到的方法,希望大家以后能用到。如果有不明白的地方或者欠缺的地方大家请多多原谅,及时的提出更新。一下是方法的代码:很简单哦:
SELECT * into #temp1 FROM OPENROWSET(BULK'D:\0010018WT000352-1-1.xml',SINGLE_BLOB ) AS x
DECLARE @hdoc int
DECLARE @doc xml
select @doc=BulkColumn from #temp1
EXEC sp_xml_preparedocument @hdoc OUTPUT,@doc
SELECT *
FROM OPENXML (@hdoc, '/Document/Events/Event/Relation/Batch/Code',1)
with (curCode varchar(50),packLayer varchar(50),parentCode varchar(50) )
exec sp_xml_removedocument @hdoc
drop table #temp1
这样就可以把我们需要xml中的字段的数据可以存放在一个临时的表里。然后在把表的数据运用到你的表里就可以了。但是这个方式没有bcp的方式灵活。因为
他需要找到固定的路径。不过可以考虑本机操作中的方式。谢谢!