加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将Xml转换为表SQL Server

发布时间:2020-12-16 08:07:49 所属栏目:百科 来源:网络整理
导读:我不知道如何读取xml数据并将其转换为TSQL中的表? 例如: row IdInvernadero8/IdInvernadero IdProducto3/IdProducto IdCaracteristica18/IdCaracteristica1 IdCaracteristica28/IdCaracteristica2 Cantidad25/Cantidad Folio4568457/Folio/rowrow IdInvern
我不知道如何读取xml数据并将其转换为TSQL中的表?

例如:

<row>
    <IdInvernadero>8</IdInvernadero>
    <IdProducto>3</IdProducto>
    <IdCaracteristica1>8</IdCaracteristica1>
    <IdCaracteristica2>8</IdCaracteristica2>
    <Cantidad>25</Cantidad>
    <Folio>4568457</Folio>
</row>
<row>
    <IdInvernadero>3</IdInvernadero>
    <IdProducto>3</IdProducto>
    <IdCaracteristica1>1</IdCaracteristica1>
    <IdCaracteristica2>2</IdCaracteristica2>
    <Cantidad>72</Cantidad>
    <Folio>4568457</Folio>
</row>

8   3   8   8   25  4568457
3   3   1   2   72  4568457

谢谢。

这是答案,希望它有助于人:)

首先,它们是如何编写xml的两个变体:

1

<row>
    <IdInvernadero>8</IdInvernadero>
    <IdProducto>3</IdProducto>
    <IdCaracteristica1>8</IdCaracteristica1>
    <IdCaracteristica2>8</IdCaracteristica2>
    <Cantidad>25</Cantidad>
    <Folio>4568457</Folio>
</row>
<row>
    <IdInvernadero>3</IdInvernadero>
    <IdProducto>3</IdProducto>
    <IdCaracteristica1>1</IdCaracteristica1>
    <IdCaracteristica2>2</IdCaracteristica2>
    <Cantidad>72</Cantidad>
    <Folio>4568457</Folio>
</row>

回答:

SELECT  
       Tbl.Col.value('IdInvernadero[1]','smallint'),Tbl.Col.value('IdProducto[1]',Tbl.Col.value('IdCaracteristica1[1]',Tbl.Col.value('IdCaracteristica2[1]',Tbl.Col.value('Cantidad[1]','int'),Tbl.Col.value('Folio[1]','varchar(7)')
FROM   @xml.nodes('//row') Tbl(Col)

2。

<row IdInvernadero="8" IdProducto="3" IdCaracteristica1="8" IdCaracteristica2="8" Cantidad ="25" Folio="4568457" />                         
<row IdInvernadero="3" IdProducto="3" IdCaracteristica1="1" IdCaracteristica2="2" Cantidad ="72" Folio="4568457" />

回答:

SELECT  
       Tbl.Col.value('@IdInvernadero',Tbl.Col.value('@IdProducto',Tbl.Col.value('@IdCaracteristica1',Tbl.Col.value('@IdCaracteristica2',Tbl.Col.value('@Cantidad',Tbl.Col.value('@Folio','varchar(7)')

FROM   @xml.nodes('//row') Tbl(Col)

取自:

> http://kennyshu.blogspot.com/2007/12/convert-xml-file-to-table-in-sql-2005.html
> http://msdn.microsoft.com/en-us/library/ms345117(SQL.90).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读