首页 > 数据库 > mysql教程 > 如何使用 XQuery 将 XML 数据转换为 SQL Server 表?

如何使用 XQuery 将 XML 数据转换为 SQL Server 表?

Barbara Streisand
发布: 2025-01-04 00:50:40
原创
205 人浏览过

How can I convert XML data to a SQL Server table using XQuery?

将 XML 数据转换为 SQL Server 中的表

在 SQL Server 中,您可以使用 XML 数据将 XML 数据转换为表格格式类型和 XQuery 表达式。具体方法如下:

方法 1:使用节点值提取器

假设您有一个 XML 文档,其数据格式如下:

<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>
登录后复制

要将这个 XML 转换为表,您可以使用以下 XQuery表达式:

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

方法 2:使用属性值提取器

或者,如果您的 XML 数据使用属性而不是节点进行格式化,例如:

<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" />
登录后复制

您可以使用以下 XQuery表达式:

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

FROM   @xml.nodes('//row') Tbl(Col)
登录后复制

此查询将从 XML 属性中提取值并将其转换为表格格式。

参考文献:

  • [http://kennyshu.blogspot.com/2007/12/convert -xml-file-to-table-in-sql-2005.html](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](http: //msdn.microsoft.com/en-us/library/ms345117(SQL.90).aspx)

以上是如何使用 XQuery 将 XML 数据转换为 SQL Server 表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板