数据库读取xml数据放在数据库表中

大家好:这几天一直在研究怎么读取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的方式灵活。因为

他需要找到固定的路径。不过可以考虑本机操作中的方式。谢谢!

你可能感兴趣的:(读取xml)