Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gRoOvE

[Resolvido] Inserir dados campo XMl

Recommended Posts

Boa tarde, preciso fazer a inserção de um dado no formato XML em um campo de minha tabela no BD, mas isso teria que ser pelo proprio sql server 2008 mesmo, ou seja, usando SQL.

Já criei o campo do tipo xml na tabela, agora preciso salvar somente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pegueu esse exemplo com a Inter.net Hosting onde hospedo meus sites, qualquer coisa entra aqui: http://bit.ly/pmSTvt

 

Você não deu muitos detalhes de como é a estrutura do seu xml, nem qual banco você está usando, mas segue um exemplo de como ler um xml e importá-lo para uma tabela de um banco SQL Server:

 

 

 

Arquivo XML:

Code Snippet

<?xml version="1.0" encoding="utf-8" ?>

<root>

   <item>

       <nome>Carlos</nome>

   </item>

   <item>

       <nome>Erica</nome>

   </item>

   <item>

       <nome>Joaquina</nome>

   </item>

</root>

 

 

Leitura e inserção do arquivo:

 

Code Snippet

 

SqlConnection conn = new SqlConnection("SUA_STRING_CONEXAO");

string arquivo = @"CAMINHO\SEUARQUIVO.xml";



if (File.Exists(arquivo))

{

   XmlDocument xmlDoc = new XmlDocument();

   xmlDoc.Load(arquivo);



   for (int i = 0; i < xmlDoc.DocumentElement.ChildNodes.Count; i++)

   {

       SqlCommand cmd = new SqlCommand();

       cmd.CommandType = CommandType.Text;

       cmd.Connection = conn;



       cmd.CommandText = "INSERT INTO SUA_TABELA(SEU_CAMPO) VALUES(@NOME_DO_PARAMETRO)";

       cmd.Parameters.AddWithValue("@NOME_DO_PARAMETRO", xmlDoc.DocumentElement.ChildNodes[i].InnerText);



       conn.Open();

       cmd.ExecuteNonQuery();

       conn.Close();

   }

}

 

 

 

 

 

Dependendo da sua estrutura, talvez seja possível inserir os dados de formas mais interessantes, mas qualquer coisa, avisa ai.

 

 

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre-p você utilizou uma linguagem pra fazer a persistência, porém eu gostaria de fazer isso diretamente no BD, utilizando SQL lá. Tem como fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado, era exatamente isto que eu precisava :)

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.