Heim > Datenbank > MySQL-Tutorial > Wie kann ich XML-Daten mit XQuery in eine SQL Server-Tabelle konvertieren?

Wie kann ich XML-Daten mit XQuery in eine SQL Server-Tabelle konvertieren?

Barbara Streisand
Freigeben: 2025-01-04 00:50:40
Original
189 Leute haben es durchsucht

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

XML-Daten in eine Tabelle in SQL Server konvertieren

In SQL Server können Sie XML-Daten mithilfe der XML-Daten in ein Tabellenformat konvertieren Typ und XQuery-Ausdrücke. So geht's:

Ansatz 1: Verwenden des Node Value Extractor

Angenommen, Sie haben ein XML-Dokument mit Daten, die wie folgt formatiert sind:

<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>
Nach dem Login kopieren

Um dieses XML in eine Tabelle umzuwandeln, können Sie die folgende XQuery verwenden Ausdruck:

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)
Nach dem Login kopieren

Ansatz 2: Verwendung des Attributwertextraktors

Alternativ, wenn Ihre XML-Daten mit Attributen anstelle von Knoten formatiert sind, wie zum Beispiel:

<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" />
Nach dem Login kopieren

Sie können den folgenden XQuery-Ausdruck verwenden:

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)
Nach dem Login kopieren

Diese Abfrage extrahiert die Werte aus den XML-Attributen und wandeln sie in eine Tabelle um Format.

Referenzen:

  • [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/ms3451 17(SQL.90).aspx](http://msdn.microsoft.com/en-us/library/ms345117(SQL.90).aspx)

Das obige ist der detaillierte Inhalt vonWie kann ich XML-Daten mit XQuery in eine SQL Server-Tabelle konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage