Problema com importação de arquivo XML
Amigos bom dia, tenho um programa numa oficina desenvolvido em delphi, e agora o meu cliente quer importar algumas informações tipo "CodigoPeca, DescricaoPeca, ValorPeca", que esta dentro de um arquivo xml, gostaria de saber se alguem poderia me dar essa ajuda. Uso o banco de dados sqlserver 2005.
abaixo a estrutura do arquivo xml que eu tenho que pegar os dados:-
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
- <Pecas>
<Pecas Codigo_Peca_Cesvi="234" Descricao_Peca="CAPÔ" Tempo_Original="1,06" Tempo_Ajustado="1,06" Tipo_Mao_Obra="Funilaria" Part_Number="93247052" Quantidade="1" Valor_Peca_Final="429,3" Valor_Peca_Original="613,29" Desconto="30" Tipo_Servico="Substituicao" Tp_Peca="ORIGINAL" />
<Pecas Codigo_Peca_Cesvi="301" Descricao_Peca="CONJUNTO ÓPTICO DIANT. DIREITO" Tempo_Original="0,34" Tempo_Ajustado="0,34" Tipo_Mao_Obra="Funilaria" Part_Number="90444787" Quantidade="1" Valor_Peca_Final="152,68" Valor_Peca_Original="218,11" Desconto="30" Tipo_Servico="Substituicao" Tp_Peca="ORIGINAL" />
<Pecas Codigo_Peca_Cesvi="302" Descricao_Peca="CONJUNTO ÓPTICO DIANT. ESQUERDO" Tempo_Original="0,34" Tempo_Ajustado="0,34" Tipo_Mao_Obra="Funilaria" Part_Number="90444786" Quantidade="1" Valor_Peca_Final="152,68" Valor_Peca_Original="218,11" Desconto="30" Tipo_Servico="Substituicao" Tp_Peca="ORIGINAL" />
<Pecas Codigo_Peca_Cesvi="77" Descricao_Peca="ESPELHO RETROVISOR DIREITO" Tempo_Original="0,27" Tempo_Ajustado="0,27" Tipo_Mao_Obra="Funilaria" Part_Number="93251522" Quantidade="1" Valor_Peca_Final="98" Valor_Peca_Original="0" Desconto="30" Tipo_Servico="Substituicao" Tp_Peca="ORIGINAL" />
</Pecas> Já me indicaram o ClientDataset, mais esta dando a seguinte mensagem de erro "Mismatch in Datapacket".
- <Pecas>
<Pecas Codigo_Peca_Cesvi="234" Descricao_Peca="CAPÔ" Tempo_Original="1,06" Tempo_Ajustado="1,06" Tipo_Mao_Obra="Funilaria" Part_Number="93247052" Quantidade="1" Valor_Peca_Final="429,3" Valor_Peca_Original="613,29" Desconto="30" Tipo_Servico="Substituicao" Tp_Peca="ORIGINAL" />
<Pecas Codigo_Peca_Cesvi="301" Descricao_Peca="CONJUNTO ÓPTICO DIANT. DIREITO" Tempo_Original="0,34" Tempo_Ajustado="0,34" Tipo_Mao_Obra="Funilaria" Part_Number="90444787" Quantidade="1" Valor_Peca_Final="152,68" Valor_Peca_Original="218,11" Desconto="30" Tipo_Servico="Substituicao" Tp_Peca="ORIGINAL" />
<Pecas Codigo_Peca_Cesvi="302" Descricao_Peca="CONJUNTO ÓPTICO DIANT. ESQUERDO" Tempo_Original="0,34" Tempo_Ajustado="0,34" Tipo_Mao_Obra="Funilaria" Part_Number="90444786" Quantidade="1" Valor_Peca_Final="152,68" Valor_Peca_Original="218,11" Desconto="30" Tipo_Servico="Substituicao" Tp_Peca="ORIGINAL" />
<Pecas Codigo_Peca_Cesvi="77" Descricao_Peca="ESPELHO RETROVISOR DIREITO" Tempo_Original="0,27" Tempo_Ajustado="0,27" Tipo_Mao_Obra="Funilaria" Part_Number="93251522" Quantidade="1" Valor_Peca_Final="98" Valor_Peca_Original="0" Desconto="30" Tipo_Servico="Substituicao" Tp_Peca="ORIGINAL" />
</Pecas> Já me indicaram o ClientDataset, mais esta dando a seguinte mensagem de erro "Mismatch in Datapacket".
Joao Mendes
Curtidas 0
Respostas
Guinther Pauli
01/12/2009
Dr Joao
O formato XML esperado pelo ClientDataSet é um XML DataPacket. Você deve nesse caso fazer o seguinte para poder usar o seu arquivo XML com o ClientDataSet:
1 - Usar o XML Mapper para criar um arquivo de Mapeamento;
2 - Usar os componentes da guia Data Access, como o XmlTransformProvider, para ler o XML e mapear para um DataPacket;
3 - Ligar o ClientDataSet ao XmlTransformProvider
A partir daí, ela trata os dados como se fossem vindos de um BD, vc pode fazer atualizações, inserções, procuras etc.
Seguem links de materiais que publiquei a respeito
https://www.devmedia.com.br/articles/viewcomp.asp?comp=541
https://www.devmedia.com.br/articles/viewcomp.asp?comp=12988
Att,
Guinther Pauli
guinther.pauli@gmail.com
Editor Geral Revista ClubeDelphi
Editor Geral Revista .net Magazine Brasil
Microsoft Certified: MCP,MCAD,MCSD.NET,MCPD,MCTS
Delphi Certified: 3,5,6,7,2005,2006,Web,Kylix
http://guintherpauli.blogspot.com
http://twitter.com/guintherpauli
O formato XML esperado pelo ClientDataSet é um XML DataPacket. Você deve nesse caso fazer o seguinte para poder usar o seu arquivo XML com o ClientDataSet:
1 - Usar o XML Mapper para criar um arquivo de Mapeamento;
2 - Usar os componentes da guia Data Access, como o XmlTransformProvider, para ler o XML e mapear para um DataPacket;
3 - Ligar o ClientDataSet ao XmlTransformProvider
A partir daí, ela trata os dados como se fossem vindos de um BD, vc pode fazer atualizações, inserções, procuras etc.
Seguem links de materiais que publiquei a respeito
https://www.devmedia.com.br/articles/viewcomp.asp?comp=541
https://www.devmedia.com.br/articles/viewcomp.asp?comp=12988
Att,
Guinther Pauli
guinther.pauli@gmail.com
Editor Geral Revista ClubeDelphi
Editor Geral Revista .net Magazine Brasil
Microsoft Certified: MCP,MCAD,MCSD.NET,MCPD,MCTS
Delphi Certified: 3,5,6,7,2005,2006,Web,Kylix
http://guintherpauli.blogspot.com
http://twitter.com/guintherpauli
GOSTEI 0