existe sim como fazer isso, me envie email em pvt que te mostro um exemplo.

rod escreveu:
> Olá a todos
>
> Estou desenvolvendo uma aplicação que precisa enviar um xml para o governo  
> estadual, e estou usando o TXmlDocument, do RAD 2007 (Delphi).
> Consigo criar os nós de acordo com o schema estabelecido pelo governo.  
> Porém, há a necessidade de incluir mais dados de uma determinada tag:
>
> Tag com uma pessoa
>   <partes>
>      <parte>
>          <cpf_cnpj>11111111111</cpf_cnpj>
>          <nome>CARLOS DA SILVA PEREIRA</nome>
>          <rg>1542184</rg>
>          <rguf>PR</rguf>
>          <tipoJuridico>F</tipoJuridico>
>          <tipoParte>PAS</tipoParte>
>     </parte>
>   </partes>
>
> Tag com Duas pessoas
> <partes>
>      <parte>
>          <cpf_cnpj>11111111111</cpf_cnpj>
>          <nome>CARLOS DA SILVA PEREIRA</nome>
>          <rg>1542184</rg>
>          <rguf>PR</rguf>
>          <tipoJuridico>F</tipoJuridico>
>          <tipoParte>PAS</tipoParte>
>     </parte>
>     <parte>
>          <cpf_cnpj>22222222222</cpf_cnpj>
>          <nome>MARIA APARECIDA TEIXEIRA</nome>
>          <rg>1542841</rg>
>          <rguf>PR</rguf>
>          <tipoJuridico>F</tipoJuridico>
>          <tipoParte>PAS</tipoParte>
>     </parte>
>   </partes>
>
> O problema é que pelo código do componente, quando tento incluir a segunda  
> pessoa, essa segunda sobreescreve, ficando o xml como o exemplo de uma  
> pessoa só.
> Minha dúvida: Há um comando específico do TXmlDocument, onde indico que  
> vou incluir no  node partes mais pessoas, sem sobreescrever o existente?
> Obs: Não estou usando dataset, é apenas esse TXmlDocument para gerar a xml.
>
> Parte do código
>
> procedure TForm3.bt2Click(Sender: TObject);
> var
>   NodeDadosProcesso, NodePartes, NodeAutores, NodeReus, NodeAdvogados :  
> IXMLNode;
>   xmldoc2 : TXMLDocument;
> begin
>
> try
>   xmldoc2 := TXMLDocument.Create(Self);
>   xmldoc2.Options :=  
> [doNodeAutoCreate,doNodeAutoIndent,doAttrNull,doAutoPrefix,doNamespaceDecl];
> xmldoc2.NodeIndentStr:='      ';
>
>   with xmldoc2 do
>   begin
>   Active := True;
>   Version := '1.0';
>   Encoding := 'UTF-8';
>   AddChild('processo');
>   DocumentElement.Attributes['xmlns:xsi'] :=  
> 'http://www.w3.org/2001/XMLSchema-instance';
>   NodeDadosProcesso := DocumentElement;
>    NodeDadosProcesso.AddChild('dataAutuacao');// := '2009-01-08' ;
>   NodeDadosProcesso.AddChild('codigoComarca');// := '2009-01-08' ;
>   NodeDadosProcesso.AddChild('codigoUnidadeOrigem');
>   NodeDadosProcesso.AddChild('codigoTipoCompetencia');
>   NodeDadosProcesso.AddChild('numeroProtocolo');
>   NodeDadosProcesso.AddChild('sistemaTribunal');
>   NodeDadosProcesso.AddChild('tipoDistribuicao');
>   NodeDadosProcesso.AddChild('codigoServentiaDistribuicao');
>   NodeDadosProcesso.AddChild('dataDistribuicao');
>   NodeDadosProcesso.AddChild('numeroProcedimentoMinisterioPublico');
>   NodeDadosProcesso.AddChild('segredoJustica');
>   NodeDadosProcesso.AddChild('valorAcao');
>   NodeDadosProcesso.AddChild('codigoClasseProcessual');
>   NodeDadosProcesso.AddChild('codigoAssuntoPrincipal');
>
> {partes - reu x autor}
>   NodePartes := DocumentElement;
>   NodePartes.AddChild('partes');
>   NodePartes.ChildNodes['partes'].AddChild('parte');
>   NodePartes.ChildNodes['partes'].ChildNodes['parte'].AddChild('cpf_cnpj');
>   NodePartes.ChildNodes['partes'].ChildNodes['parte'].AddChild('nome');
> NodePartes.ChildNodes['partes'].ChildNodes['parte'].AddChild('rg');
>   NodePartes.ChildNodes['partes'].ChildNodes['parte'].AddChild('rguf');
>   
> NodePartes.ChildNodes['partes'].ChildNodes['parte'].AddChild('tipoJuridico');
>   NodePartes.ChildNodes['partes'].ChildNodes['parte'].AddChild('tipoParte');
>
>   {inserir os dados}
>   NodeDadosProcesso.ChildValues['dataAutuacao'] :=  
> FormatDateTime('YYYY-MM-DD',now);
>   NodeDadosProcesso.ChildValues['codigoComarca'] := '57';// := '2009-01-08'  
> ; //foz
>   NodeDadosProcesso.ChildValues['codigoUnidadeOrigem'] := '56';
>   NodeDadosProcesso.ChildValues['codigoTipoCompetencia'] := '1'; //civel
>   NodeDadosProcesso.ChildValues['numeroProtocolo']:= '00028';
>   NodeDadosProcesso.ChildValues['sistemaTribunal']:= 'KAN';
>   NodeDadosProcesso.ChildValues['tipoDistribuicao']:= 'AUT';
>   NodeDadosProcesso.ChildValues['codigoServentiaDistribuicao']:='705';  
> //Primeira Vara Cível
>   NodeDadosProcesso.ChildValues['dataDistribuicao']:=  
> FormatDateTime('YYYY-MM-DD',now);
>   NodeDadosProcesso.ChildValues['numeroProcedimentoMinisterioPublico'];
>   NodeDadosProcesso.ChildValues['segredoJustica'] := '0';
>   NodeDadosProcesso.ChildValues['valorAcao']:='13.00';
>   NodeDadosProcesso.ChildValues['codigoClasseProcessual']:='2';
>   NodeDadosProcesso.ChildValues['codigoAssuntoPrincipal']:='899';
>
>   {partes - reu x autor}
>
>   
> NodePartes.ChildNodes['partes'].ChildNodes['parte'].ChildValues['cpf_cnpj']:='11111111111';
>   
> NodePartes.ChildNodes['partes'].ChildNodes['parte'].ChildValues['nome']:='MARIA
>   
> TEREZA ROCHA';
> NodePartes.ChildNodes['partes'].ChildNodes['parte'].ChildValues['rg']:='9345435';
>   
> NodePartes.ChildNodes['partes'].ChildNodes['parte'].ChildValues['rguf']:='PR';
>   
> NodePartes.ChildNodes['partes'].ChildNodes['parte'].ChildValues['tipoJuridico']:='F';
>   
> NodePartes.ChildNodes['partes'].ChildNodes['parte'].ChildValues['tipoParte']:='ATI';
>   NodePartes.ChildNodes['partes'].ChildNodes['parte'].NextSibling;
>
>   {OUTRO REU}
>   NodeReus := NodePartes.ChildNodes['partes'];
>   NodeReus.ChildNodes['parte'].ChildValues['cpf_cnpj']:='11111111111';
>   NodeReus.ChildNodes['parte'].ChildValues['nome']:='CARLOS DA SILVA  
> PEREIRA';
> NodeReus.ChildNodes['parte'].ChildValues['rg']:='1542184';
>   NodeReus.ChildNodes['parte'].ChildValues['rguf']:='PR';
>   NodeReus.ChildNodes['parte'].ChildValues['tipoJuridico']:='F';
>   NodeReus.ChildNodes['parte'].ChildValues['tipoParte']:='PAS';
>
> memo1.Lines.Text := xml.GetText;
>
>
>   end;
>   finally
>   FreeAndNil(xmldoc2);
>   end;
> end;
>
>   

Responder a