怎么样提取xml文档里面的内容生成sql表格

tc000982800 2010-09-26 04:22:30

对这个xml文档提取出三列两行的表格,列名为gender,name,telephone,两行为xml文档中相应数据。
问问大哥们,语句怎么写啊,譬如我的xml文档名称为student,存放在d盘
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ai_li7758521 2010-09-26
  • 打赏
  • 举报
回复

DECLARE @x xml
SET @x='
<Root>
<row id="1"><name>Larry</name><oflw>some text</oflw></row>
<row id="2"><name>Joe</name></row>
<row id="3" />
</Root>
'
SELECT T.c.value('@id','int') as id,
T.c.value('name[1]','nvarchar(10)') as NAME
FROM @x.nodes('/Root/row[name]') T(c)
go

id NAME
----------- ----------
1 Larry
2 Joe

(2 行受影响)
「已注销」 2010-09-26
  • 打赏
  • 举报
回复
导入xml文件到SQL Server 2005
===========================================================
作者: kitesky(http://kitesky.itpub.net)
发表于:2009.07.27 12:09
分类: SQL Server
出处:http://kitesky.itpub.net/post/909/488355
---------------------------------------------------------------
SQLServer2005分解并导入xml文件

1. 一次性导入:

DECLARE @idoc int;
DECLARE @doc xml;

SELECT @doc=BulkColumn FROM OPENROWSET(BULK N'E:MStarIndustryCodes.xml', SINGLE_BLOB) AS x

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT * into tmp_tab FROM OPENXML (@idoc, '/Root/Record'/',2)
WITH
(
IndustryCode varchar(10)
,IndustryGlobalId varchar(10)
,IndustryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)

EXEC sp_xml_removedocument @idoc

select * from tmp_tab

2. 先导入到表中varchar(MAX)列,然后再用OPENXML解析,读出。

-- 使用SINGLE_CLOB参数,tmp_raw中字段为varcahr(MAX)类型
SELECT * into tmp_raw FROM OPENROWSET(BULK N'E:MStarIndustryCodes.xml', SINGLE_CLOB) AS x

DECLARE @idoc int;
DECLARE @doc xml;

select @doc = BulkColumn from tmp_raw
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT top 10 * FROM OPENXML (@idoc, '/Root/Record', 1)
WITH
(
IndustryCode varchar(10)
,IndustryGlobalId varchar(10)
,IndustryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)

EXEC sp_xml_removedocument @idoc


XML文件导入数据到SQL Server 2008中
changjiangzhibin 2010-09-26
  • 打赏
  • 举报
回复
大乌龟的头像怎么不见了,钻钻?
dawugui 2010-09-26
  • 打赏
  • 举报
回复
没用过,帮顶。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧