Qual a forma correta de carregar + de 1 arquivo no IXMLDocument?
Salve galera, estou fazendo da seguinte forma, porém só pega 1 arquivo:
* OBS: no Memo1 eu coloco o caminho dos arquivos XML *
Abs!
* OBS: no Memo1 eu coloco o caminho dos arquivos XML *
var i: Integer; XML: IXMLDocument; XML := TXMLDocument.Create(self); for i := 0 to Memo1.Lines.Count - 1 do begin XML.LoadFromFile(Memo1.Lines[i]); end;
Abs!
Gxf
Curtidas 0
Respostas
Rafael Bosco
01/10/2019
Amigo, ele só ta carregando um, por que dentro do seu FOR, você precisa definir o que fará com o XML recém carregado:
O que você pretende fazer com o arquivo que foi carregado? Salvar em um banco de dados? Alimentar algum Objeto? Transferir esses dados para um Form?
Após você realizar a ação desejada, o FOR voltará para o indice corrente e irá ler o próximo arquivo que está no seu MEMO, se você deixa o código do jeito que está aí, ele não vai fazer nada mesmo.
O que você pretende fazer com o arquivo que foi carregado? Salvar em um banco de dados? Alimentar algum Objeto? Transferir esses dados para um Form?
Após você realizar a ação desejada, o FOR voltará para o indice corrente e irá ler o próximo arquivo que está no seu MEMO, se você deixa o código do jeito que está aí, ele não vai fazer nada mesmo.
var i: Integer; XML: IXMLDocument; XML := TXMLDocument.Create(self); for i := 0 to Memo1.Lines.Count - 1 do begin XML.LoadFromFile(Memo1.Lines[i]); // COLOQUE AQUI O QUE VOCÊ PRECISA FAZER COM O XML CARREGADO // SE VOCE NÃO COLOCAR NADA AQUI, ELE SEMPRE VAI ESTAR CARREGADO APENAS COM O ULTIMO ARQUIVO DA LINHA DO MEMO end;
GOSTEI 0
Gxf
01/10/2019
Eu coloquei em baixo do FOR oq tem que ser feito, que é inserir no BD, porém ele só insere o que esta na última linha do Memo1... Não consegui colocar o código td aqui, por isso simplifiquei, mas abaixo do FOR esta oq desejo, tanto que da certo inserir, porém só insere o XML que esta no caminho da última linha do Memo1.
GOSTEI 0
Rafael Bosco
01/10/2019
Então o código que adiciona dentro do seu DB está DENTRO DO FOR? Se sim, é outro problema que está ocorrendo e não a leitura do XML, poderia nos enviar só o BEGIN / END do seu FOR? Não precisa colocar toda a estrutura de parâmetros de query e etc...
GOSTEI 0
Gxf
01/10/2019
muito obrigado pela ajuda. consegui identificar oq esta causando o "primary key". vou dar uma analisada melhor no código e qlqr dúvida volto a posta. vlwww.
GOSTEI 0