Convertir le fichier XML en table SQL Server

Je me demande comment puis-je lire une donnée xml et la transformer en une table dans TSQL?

Par exemple:

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

À

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

C’est la réponse, j’espère que ça aide quelqu’un 🙂

Premièrement, ce sont deux variantes de la manière dont le xml peut être écrit:

1

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

Répondre:

 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.

   

Répondre:

 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) 

Pris à partir de:

  1. http://kennyshu.blogspot.com/2007/12/convert-xml-file-to-table-in-sql-2005.html

  2. http://msdn.microsoft.com/en-us/library/ms345117(SQL.90).aspx

Utilisez sp_xml_preparedocument .

Pour une vérification détaillée: http://technet.microsoft.com/en-gb/library/ms186918.aspx

Pour votre question:

 DECLARE @XML XML SET @XML = ' 8 3 8 8 25 4568457   3 3 1 2 72 4568457 ' DECLARE @handle INT DECLARE @PrepareXmlStatus INT EXEC @PrepareXmlStatus= sp_xml_preparedocument @handle OUTPUT, @XML SELECT * FROM OPENXML(@handle, '/rows/row', 2) WITH ( IdInvernadero INT, IdProducto INT, IdCaracteristica1 INT, IdCaracteristica2 INT, Cantidad INT, Folio INT ) EXEC sp_xml_removedocument @handle 

Si vous avez des documents XML profondément nesteds (ou json, html, sql) avec des nœuds récursifs (nœud ‘folder’ dans le nœud ‘folder’ dans le nœud ‘folder’) d’un type complexe mixte sans schéma XSD / DTD, vous pouvez utiliser l’outil eXtractorONE (eXtractor.ONE). Pas de programmation nécessaire, pas de Xquery, pas de XSLT, configuration quasiment nulle. Aucune limite de taille. Pointez simplement sur le dossier contenant des documents XML, sélectionnez votre firebase database cible et exécutez-la.

Pour accomplir cette tâche de conversion, vous pouvez envisager d’utiliser un outil de conversion de mappage XML tel que XMLFox Advance . Nous utilisons le convertisseur XMLFox Advance depuis des années pour transformer les données XML des consommateurs en tables SQL.