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>

Responder a