怎么把用XML格式的数据转换成数据表的形式?

怎么把用XML格式的数据转换成数据表的形式?,第1张

加上根节点,比如是'Root',保存文件d:\dblp_sample.xml。

DECLARE @XML xml

SELECT @xml = x.a 

FROM OPENROWSET(BULK 'C:\test.xml', SINGLE_BLOB) AS x(a)

DECLARE @XMLDocPointer INT

EXEC sp_xml_preparedocument @XMLDocPointer OUTPUT, @xml SELECT * FROM OPENXML(@XMLDocPointer,N'/root',2)

        with([mdate] datetime 'article/@mdate',

        [key] varchar(50) 'article/@key',

        [publtype] varchar(50) 'article/@publtype',

        [author1] varchar(50) 'author[1]',

        [author2] varchar(50) 'author[2]',

        [title] varchar(100) 'title',

        [journal] varchar(200) 'journal',

        [volume] varchar(50) 'volume',

        [year]    date    'year')

我这里没有调试,自己调试一下吧。

select * from 表名 for xml 以下是详细介绍: FOR 子句 FOR 子句用于指定 BROWSE 或 XML 选项(BROWSE 和 XML 是不相关的选项)。 语法 [ FOR { BROWSE | XML { RAW | AUTO | EXPLICIT } [ , XMLDATA ] [ , ELEMENTS ] [ , BINARY BASE64 ] } ]...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6751194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存