Menukar Data XML kepada Jadual dalam SQL Server
Dalam SQL Server, anda boleh menukar data XML ke dalam format jadual menggunakan data XML jenis dan ungkapan XQuery. Begini caranya:
Pendekatan 1: Menggunakan Pengekstrak Nilai Nod
Andaikan anda mempunyai dokumen XML dengan data berformat seperti berikut:
<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>
Untuk menukar XML ini kepada jadual, anda boleh menggunakan XQuery berikut ungkapan:
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)
Pendekatan 2: Menggunakan Pengekstrak Nilai Atribut
Sebagai alternatif, jika data XML anda diformatkan dengan atribut dan bukannya nod, seperti:
<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" />
Anda boleh menggunakan XQuery berikut ungkapan:
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)
Pertanyaan ini akan mengekstrak nilai daripada atribut XML dan menukarnya menjadi jadual format.
Rujukan:
Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar data XML ke jadual SQL Server menggunakan XQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!