Ai ai ai ai ... isso é problema de lógica, faltou o laço.
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de icefusion11 Enviada em: quinta-feira, 5 de junho de 2008 10:21 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Problemas com o Componente TXmlDocument Olá...gostaria de gerar algo do tipo! ---------------------------------------------------------- <cobranca> <fatura> <numero>1</numero> <valorOriginal>4444,00</valorOriginal> <valorDesconto>0</valorDesconto> <valorLiquido>4444,00</valorLiquido> </fatura> <duplicata> <numero>1/A</numero> <vencimento>2008-06-15</vencimento> <valor>2222,00</valor> </duplicata> <duplicata> <numero>1/B</numero> <vencimento>2008-06-30</vencimento> <valor>2222,00</valor> </duplicata> </cobranca> porém quando faço isso com o componente ele só pega o último valor da duplicata!!! o meu código está desta forma!!! ---------------------------------------------------------- procedure TF_Nfe.BitBtn1Click(Sender: TObject); var xml : TXMLDocument; no_cobranca : IXMLNode; begin xml:=TXMLDocument.Create(nil); xml.Active:=TRUE; no_cobranca:=xml.DocumentElement.AddChild('cobranca'); no_cobranca.ChildNodes['fatura'].ChildNodes['numero'].NodeValue:=edCobNumNF.Text; no_cobranca.ChildNodes['fatura'].ChildNodes['valorOriginal'].NodeValue:=edCobValorTotal.Text; no_cobranca.ChildNodes['fatura'].ChildNodes['valorDesconto'].NodeValue:=edCobDesconto.Text; no_cobranca.ChildNodes['fatura'].ChildNodes['valorLiquido'].NodeValue:=edCobVlLiquido.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['numero'].NodeValue:=edCobDuplicata1.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['vencimento'].NodeValue:=edCobVencto1.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['valor'].NodeValue:=edCobParValor1.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['numero'].NodeValue:=edCobDuplicata2.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['vencimento'].NodeValue:=edCobVencto2.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['valor'].NodeValue:=edCobParValor2.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['numero'].NodeValue:=edCobDuplicata3.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['vencimento'].NodeValue:=edCobVencto3.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['valor'].NodeValue:=edCobParValor3.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['numero'].NodeValue:=edCobDuplicata4.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['vencimento'].NodeValue:=edCobVencto4.Text; no_cobranca.ChildNodes['duplicata'].ChildNodes['valor'].NodeValue:=edCobParValor4.Text; empresa:=cbCodEmpresa.Items[cbCodEmpresa.ItemIndex]; nome_arquivo:='G:\NotaNet\nfe\nota\'+empresa+'_'+edNumeroNF.Text+'.xml'; xml.SaveToFile(nome_arquivo); xml.Active:=False; xml:=nil; end; ---------------------------------------------------------- com esse código ele gera tudo corretamente, apenas quando existe repetição igual no caso da duplicata.....ou se houver vários produtos...quando é 1 só ele gera normal...certinho!!! É claro que ae só estão as informações de fatura da nota fiscal...tem o corpo da nota, cabeçalho, rodapé....tudo certinho... desde já obrigado!! ---------------------------------------------------------- o resultado do código acima é o seguinte: <cobranca> <fatura> <numero>1</numero> <valorOriginal>4444,00</valorOriginal> <valorDesconto>0</valorDesconto> <valorLiquido>4444,00</valorLiquido> </fatura> <duplicata> <numero>1/B</numero> <vencimento>2008-06-30</vencimento> <valor>2222,00</valor> </duplicata> </cobranca> [As partes desta mensagem que não continham texto foram removidas]