1. 提取关心数据。以表行的形式列出。要注意的是。Xquery在解析 XML 文档里,无素内容是和关键字是区分大小写的。
createtable #t (id int ,xm xml) insertinto #t(id,xm) select1 , *fromOpenRowSet( Bulk'D:\Program Files\StormII\config.xml', Single_Blob ) as x --只关心 其他视频/音频文件 insertinto #t(id,xm) select2,xm.query('for $f in /config/association/type[@category="其他视频/音频文件"] return $f') as result from #t declare@x xml select@x=xm from #t where id =2 insertinto #t select3,t.c.query('.')from@x.nodes('/type/item') t(c) select xm.value('(/item/@format)[1]','varchar(30)' ) as format ,xm.value('(/item/@description)[1]','varchar(30)' ) as description from #t where id =3 go
select xm.value('(/item/@format)[1]','varchar(30)' ) as format ,xm.value('(/item/@description)[1]','varchar(30)' ) as description from #t where id =3 and xm.value('(/item/@description)[1]','varchar(30)' ) like'%音频%'