22,210
社区成员
发帖
与我相关
我的任务
分享
--1.读取XML文件内容
declare @s_filename varchar(255)
declare @s_command varchar(255)
declare @i int,@i_count int,@i_doc_handle int
declare @s_filecontent varchar(8000)
create table #temp_xml(pk int not null identity(1,1), content varchar(255))
set @s_filename='\\192.168.0.11\e\temp\1.xml' --如果把这里的路径换成本地就没有问题
set @s_command='type '+@s_filename
set @s_filecontent=''
insert into #temp_xml execute master..xp_cmdshell @s_command
select @i_count=count(*) from #temp_xml
set @i=2
while @i<>@i_count
begin
set @i=@i+1
select @s_filecontent=@s_filecontent+isnull(content,'') from #temp_xml where pk=@i
end
drop table #temp_xml
--2.保存XML中数据到表中
execute sp_xml_preparedocument @i_doc_handle output,@s_filecontent --@s_filecontent定义为varchar(8000)
select *
from openxml(@i_doc_handle,'/test/test_row',2)
with table_name
exec sp_xml_removedocument @i_doc_handle