xml文档解析并把解析结果存入sql server数据库 150
小弟最近在做一个项目,就是把批量xml文档解析出来,并把结果存如数据库中,高分求解,在线等,满意可再加分没有满意一点的么。。...
小弟最近在做一个项目,就是把批量xml文档解析出来,并把结果存如数据库中,高分求解,在线等,满意可再加分
没有满意一点的么。。 展开
没有满意一点的么。。 展开
1个回答
展开全部
DECLARE @idoc int,@doc varchar(8000)
--从文件中读出XML内容到临时表(F:\corpus samples\sen0001.xml)
create table #tb (doc varchar(8000))
bulk insert #tb from 'F:\corpus samples\sen0001.xml'
--将读取到的数据保存到变量中
set @doc=''
select @doc=@doc+doc from #tb
--删除临时表
drop table #tb
--获取数据
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
--创建测试的表
create table syllables
(ch_char char(4),pinyin char(10),start_sample int,end_sample int)
--下面是数据处理
insert into syllables(ch_char,pinyin,start_sample,end_sample)
SELECT * FROM OPENXML (@idoc, '/utterance/sentence/prosodic_phrase/prosodic_word/syllable',2)
WITH (ch_char char(4) '@ch_char',
pinyin char(10) '@pinyin',
start_sample int '../sil/@end_sample',
end_sample int '@end_sample')
EXEC sp_xml_removedocument @idoc
--显示处理结果
select * from syllables
得到如下结果
char pinyin start_sample end_sample
为 wei4 14318 14212
临 lin2 14318 18632
帖 tie4 14318 25740
他 ta1 30319 33343
还 hai2 30319 37391
远 yuan3 37462 41617
游 you2 37462 47168
西 xi1 47232 50740
安 an1 47232 54736
碑 bei1 55184 58192
林 lin2 55184 65393
龙 long2 69120 73037
门 men2 69120 77216
石 shi2 77291 81843
窟 ku1 77291 87964
泰 tai4 92561 97200
山 shan1 92561 1
--从文件中读出XML内容到临时表(F:\corpus samples\sen0001.xml)
create table #tb (doc varchar(8000))
bulk insert #tb from 'F:\corpus samples\sen0001.xml'
--将读取到的数据保存到变量中
set @doc=''
select @doc=@doc+doc from #tb
--删除临时表
drop table #tb
--获取数据
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
--创建测试的表
create table syllables
(ch_char char(4),pinyin char(10),start_sample int,end_sample int)
--下面是数据处理
insert into syllables(ch_char,pinyin,start_sample,end_sample)
SELECT * FROM OPENXML (@idoc, '/utterance/sentence/prosodic_phrase/prosodic_word/syllable',2)
WITH (ch_char char(4) '@ch_char',
pinyin char(10) '@pinyin',
start_sample int '../sil/@end_sample',
end_sample int '@end_sample')
EXEC sp_xml_removedocument @idoc
--显示处理结果
select * from syllables
得到如下结果
char pinyin start_sample end_sample
为 wei4 14318 14212
临 lin2 14318 18632
帖 tie4 14318 25740
他 ta1 30319 33343
还 hai2 30319 37391
远 yuan3 37462 41617
游 you2 37462 47168
西 xi1 47232 50740
安 an1 47232 54736
碑 bei1 55184 58192
林 lin2 55184 65393
龙 long2 69120 73037
门 men2 69120 77216
石 shi2 77291 81843
窟 ku1 77291 87964
泰 tai4 92561 97200
山 shan1 92561 1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询