ホームページ > データベース > mysql チュートリアル > XQuery を使用して XML データを SQL Server テーブルに変換するにはどうすればよいですか?

XQuery を使用して XML データを SQL Server テーブルに変換するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-04 00:50:40
オリジナル
191 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート