Apresentamos nesse vídeo como ler o arquivo XML de nota fiscal eletrônica utilizando o SQL Server.
1. Ler o conteúdo do arquivo em formato XML (SELECT, OPENROWSET, BULK, SINGLE_BLOB):
SELECT * FROM OPENROWSET(BULK 'C:CaminhoParaArquivo.xml', SINGLE_BLOB) AS xmlData;
2. Converter tipo de dados de texto em XML (CAST, XML):
CAST(' <root><item>Conteúdo</item></root> ' AS XML) AS xmlColumn;
3. Definir a estrutura do arquivo XML (XMLNAMESPACES, DEFAULT):
WITH XMLNAMESPACES(DEFAULT 'http://www.w3.org/2001/XMLSchema-instance')
4. Obter a hierarquia dos dados (CROSS APPLY, NODES):
SELECT XmlColumn.value('(Path/To/Element)[1]', 'DataType') AS ColumnAlias FROM YourTable CROSS APPLY XmlColumn.nodes('/Root/ParentNode') AS Nodes(XmlColumn);
5. Obter os valores das colunas (VALUE):
XmlColumn.value('(Path/To/Element)[1]', 'DataType') AS ColumnAlias
6. Inserir os dados selecionados em tabela auto-criada (INTO, FROM):
INSERT INTO NewTable (Column1, Column2) SELECT XmlColumn.value('(Path/To/Element1)[1]', 'DataType') AS Column1, XmlColumn.value('(Path/To/Element2)[1]', 'DataType') AS Column2 FROM YourTable;
Estes são passos comuns ao lidar com dados XML no Microsoft SQL Server, adaptáveis de acordo com a estrutura específica do seu XML e requisitos da consulta.
Data Scientist and Consultant for Digital and Analytics Solutions
@fabioms